Skip to main content

quantilePrometheusHistogram

Introduced in: v25.10.0 Computes quantile of a histogram using linear interpolation, taking into account the cumulative value and upper bounds of each histogram bucket. To get the interpolated value, all the passed values are combined into an array, which are then sorted by their corresponding bucket upper bound values. Quantile interpolation is then performed similarly to the PromQL histogram_quantile() function on a classic histogram, performing a linear interpolation using the lower and upper bound of the bucket in which the quantile position is found. See Also Syntax
quantilePrometheusHistogram(level)(bucket_upper_bound, cumulative_bucket_value)
Parameters
  • level — Optional. Level of quantile. Constant floating-point number from 0 to 1. We recommend using a level value in the range of [0.01, 0.99]. Default value: 0.5. At level=0.5 the function calculates median. Float64
Arguments
  • bucket_upper_bound — Upper bounds of the histogram buckets. The highest bucket must have an upper bound of +Inf. Float64
  • cumulative_bucket_value — Cumulative values of the histogram buckets. Values must be monotonically increasing as the bucket upper bound increases. (U)Int* or Float64
Returned value Returns the quantile of the specified level. Float64 Examples Usage example
Query
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));
Response
┌─quantilePrometheusHistogram(bucket_upper_bound, cumulative_bucket_value)─┐
│                                                                     0.35 │
└──────────────────────────────────────────────────────────────────────────┘
See Also
Last modified on June 8, 2026