В пространстве имен Microsoft.ApplicationInsights класс Metric содержит методы TrackValue, которые поддерживают до 10 значений измерений, но класс TelemetryClient имеет методы GetMetric, которые поддерживают до 4 имен измерений.
Мое приложение хотело бы отслеживать 6 значений измерения для метрики, но метод GetMetric поддерживает только 4 имени измерения. В моем сценарии, какими будут имена 5-го и 6-го измерений?
Я написал небольшое приложение .Net Core, которое отправляет метрики в ApplicationInsights. Когда количество имен измерений в вызове GetMetric совпадает с количеством значений измерений в вызове TrackValue, вызов TrackValue завершается успешно. Однако, когда количество имен измерений не совпадает с числом значений измерений, метод TrackValue выдает исключение System.ArgumentException с сообщением «Попытка получить ряд метрик путем указания 6 измерений, но метрика имеет 4 измерения. «
TelemetryClient tc = new TelemetryClient();
tc.InstrumentationKey = "AppInsight Instrumentation Key";
var itemMetric = tc.GetMetric("Item", "Amount", "Source", "Locale", "PaymentType");
itemMetric.TrackValue(1.0d, "25", "web", "en-US", "CC", "USD", "US");
При вызове TrackValue создается исключение System.ArgumentException, подробно описанное над кодом.
Есть ли способ указать более 4 имен измерений для метрики, чтобы вызов TrackValue завершился успешно?