Перейти к основному содержимому
Перейти к основному содержимому

quantilePrometheusHistogram

quantilePrometheusHistogram

Появилась в версии v25.10

Вычисляет квантиль гистограммы с использованием линейной интерполяции, учитывая накопленные значения и верхние границы каждого бакета гистограммы.

Для получения интерполированного значения все переданные значения объединяются в массив, который затем сортируется по соответствующим значениям верхних границ бакетов. Затем интерполяция квантиля выполняется аналогично функции PromQL histogram_quantile() для классической гистограммы, выполняя линейную интерполяцию между нижней и верхней границами бакета, в котором находится позиция квантиля.

См. также

Синтаксис

quantilePrometheusHistogram(level)(bucket_upper_bound, cumulative_bucket_value)

Параметры

  • level — Необязательный параметр. Уровень квантиля. Константа с плавающей запятой от 0 до 1. Рекомендуется использовать значение level в диапазоне [0.01, 0.99]. Значение по умолчанию: 0.5. При level=0.5 функция вычисляет медиану. Float64

Аргументы

  • bucket_upper_bound — Верхние границы бакетов гистограммы. Наибольший бакет должен иметь верхнюю границу +Inf. Float64
  • cumulative_bucket_value — Накопительные значения бакетов гистограммы. Значения должны монотонно возрастать по мере увеличения верхней границы бакета. (U)Int* или Float64

Возвращаемое значение

Возвращает квантиль указанного уровня. Float64

Примеры

Пример использования

SELECT quantilePrometheusHistogram(bucket_upper_bound, cumulative_bucket_value)
FROM VALUES('bucket_upper_bound Float64, cumulative_bucket_value UInt64', (0, 6), (0.5, 11), (1, 14), (inf, 19));
┌─quantilePrometheusHistogram(bucket_upper_bound, cumulative_bucket_value)─┐
│                                                                     0.35 │
└──────────────────────────────────────────────────────────────────────────┘

См. также