В соответствии с документацией Прометея, чтобы получить 95-й процентиль с использованием метрики гистограммы, я могу использовать следующий запрос:
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))
Источник: https://prometheus.io/docs/practices/histograms/#quantiles
Поскольку каждый сегмент гистограммы являетсяС помощью счетчика мы можем рассчитать скорость каждого из сегментов как:
средняя скорость увеличения временного ряда в векторе диапазона в секунду.
См .: https://prometheus.io/docs/prometheus/latest/querying/functions/#rate
Так, например, если значение корзины [t-5m] = 100 и значение корзины [t] = 200, то скорость корзины [t] =(200-100) / (10 * 60) = 0,167
И, наконец, самая запутанная часть заключается в том, как функция histogram_quantile может найти 95-й процентиль для данной метрики, зная все скорости сегмента?
Есть какой-нибудь код или алгоритм, который я могу посмотреть, чтобы лучше понять его?