在 Azure Application Insights 中,EvenCounter 和预聚合指标之间有什么区别?

Jor*_*elt 0 azure azure-application-insights

我在这里阅读了基于日志的指标和预聚合指标之间的区别: https: //learn.microsoft.com/en-us/azure/azure-monitor/app/pre-aggreated-metrics-log-metrics

后来我遇到了事件计数器: https://learn.microsoft.com/en-us/azure/azure-monitor/app/eventcounters

它们似乎都被用来跟踪某种类型的指标。我看到 EventCounters 文档没有提到任何(预)聚合,但除此之外,两者之间有什么区别以及何时使用 EventCounter 而不是调用 TelemetryClient.TrackMetric()?

Pet*_*ons 5

TelemetryClient.TrackMetric()是特定于应用程序见解的,EventCounter不是。

EventCounter 是 .Net 中的一种机制,用于在应用程序/库中定义自定义指标。您必须为它们创建一个侦听器来读取值并可能将这些值发送到某个地方。这可以是一个简单的控制台输出、一个日志框架或其他类似应用程序洞察的东西。它将指标的生成与这些指标的消耗分离。

如果您使用的应用程序或库已使用 EventCounters 定义指标,您可以将它们作为指标发布在 Application Insights 中。参考文档告诉您如何做到这一点。

如果您编写自己的代码以及在 Application Insights 中跟踪自定义指标的内容,您可以自行决定。使用TrackMetric是最快和最简单的选项,但当您想在其他地方发布指标时,您可能会失去一些灵活性。

如果您对原因和方式感兴趣,我不久前写了一篇关于 EventCounters 的博文。