В Azure Application Insights, в чем разница между EvenCounter и предварительно агрегированными показателями? - PullRequest
0 голосов
/ 15 января 2020

Я читал о разнице между основанными на журнале и предварительно агрегированными метриками здесь: https://docs.microsoft.com/en-us/azure/azure-monitor/app/pre-aggregated-metrics-log-metrics

Позже я наткнулся на счетчики событий: https://docs.microsoft.com/en-us/azure/azure-monitor/app/eventcounters

Они оба, кажется, используются для отслеживания метрик какого-то рода. Я вижу, что документация EventCounters не упоминает о какой-либо (предварительной) агрегации, но помимо этого, в чем разница между ними и тем, когда я использую EventCounter, а не вызываю TelemetryClient.TrackMetri c ()?

1 Ответ

3 голосов
/ 15 января 2020

TelemetryClient.TrackMetric() указывает c на понимание приложения, EventCounter - нет.

EventCounter - это механизм в. Net для определения пользовательских метрик внутри приложения / библиотеки. Вы должны создать прослушиватель для них, чтобы считывать значения и, возможно, отправлять эти значения куда-либо. Это может быть простой вывод на консоль, структура ведения журнала или что-то еще, например Application Insights. Он отделяет генерацию метри c от потребления этих метрик.

Если приложение или библиотека, которую вы используете, уже определяет метрики с помощью EventCounters, вы можете опубликовать их sh как метрики в Application Insights. В указанной документации рассказывается, как это сделать.

Если вы пишете свой собственный код и что отслеживать пользовательские метрики в Application Insights, вы можете решить сами. Использование TrackMetric - самый быстрый и простой вариант, но вы можете потерять некоторую гибкость, когда захотите опубликовать sh метрики в другом месте.

Я написал blogpost о EventCounters некоторое время go, если вас интересует, почему и как.

...