And*_*dyV 6 azure azure-monitoring azure-application-insights prometheus azure-log-analytics
我使用 Prometheus 存储性能指标并以百分位数形式查询结果(例如第 95 个百分位数响应时间)。我使用prometheus-net来发出它们。
Azure AppInsights 中的等效项是什么?
我看到 AppInsights/Kusto 中有百分位数函数,但是当我使用 GetMetric("blah").TrackValue(42) 时,它存储 Count、Min、Max、Sum 和 StdDev,这不是我使用的直方图分桶方法到《普罗米修斯》中。
for(int i=0; i < 500; i++) {
//Write some metrics
telemetryClient.GetMetric("blah").TrackValue(42); //real data isn't constant
}
Run Code Online (Sandbox Code Playgroud)
customMetrics
| where name == "blah"
//| summarize avg(value), percentiles(value, 50, 95) by bin(timestamp, 2m)
Run Code Online (Sandbox Code Playgroud)
当 API 与默认聚合一起使用时,不会存储每个单独的值GetMetric().TrackValue(),1 分钟后会生成一个值,并且该值会以 sum/count/min/max/... 分布发送到 AI。因此,稍后无法在 Analytics 中绘制原始数据点的百分位数。
目前 API 可用的聚合很少GetMetric().TrackValue(),直方图 / tdigest 不是其中之一。您可以在AI SDK GitHub 存储库上提交功能请求(或贡献)。
目前的解决方法是使用较旧的 API,默认情况下提交时间点指标,而不进行聚合:TrackMetric()或TrackEvent(). 这将增加发送的遥测项目的数量(每个指标将单独发送,而不进行 1 分钟的值聚合),但这将为您提供每个值,以便在必要时在 Analytics 中执行百分位数聚合。
| 归档时间: |
|
| 查看次数: |
3813 次 |
| 最近记录: |