quantilePrometheusHistogram
Добавленный в: v25.10.0
Вычисляет квантиль гистограммы с помощью линейной интерполяции с учетом накопленного значения и верхних границ каждого бакета гистограммы.
Чтобы получить интерполированное значение, все переданные значения объединяются в массив, который затем сортируется по соответствующим значениям верхних границ бакетов. Затем интерполяция квантиля выполняется аналогично функции 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.Float*cumulative_bucket_value— Накопленные значения бакетов гистограммы. Значения должны монотонно возрастать по мере увеличения верхней границы бакета.UInt*илиFloat*
Возвращаемое значение
Возвращает квантиль указанного уровня. Тип результата с плавающей запятой соответствует типу bucket_upper_bound. Float32 или 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 │
└──────────────────────────────────────────────────────────────────────────┘См. также