Я использовал Prometheus для хранения метрик производительности и запроса результатов в виде процентилей (например, время отклика 95-го процентиля).Я использовал prometheus-net для их излучения.
Что эквивалентно в Azure AppInsights?
Я вижу, что в AppInsights / Kusto есть процентильные функции , но когда я использую GetMetric ("бла"). TrackValue (42) хранит Count, Min, Max, Sum и StdDev,это не тот подход к гистограмме, к которому я привык в Prometheus.
for(int i=0; i < 500; i++) {
//Write some metrics
telemetryClient.GetMetric("blah").TrackValue(42); //real data isn't constant
}
customMetrics
| where name == "blah"
//| summarize avg(value), percentiles(value, 50, 95) by bin(timestamp, 2m)
Вот некоторые данные, которые я записал со случайными значениями.Столбец значения представляет собой сумму, которая не является правильной, поэтому я не вижу, как я могу правильно сделать процентили на этих данных.![enter image description here](https://i.stack.imgur.com/NsIhp.png)