跳转到主内容
跳转到主内容

quantilePrometheusHistogram

quantilePrometheusHistogram

引入版本:v25.10

使用线性插值计算直方图的quantile,会考虑每个直方图桶的累计值和上界。

为了获得插值结果,所有传入的值会被合并到一个数组中,然后根据它们对应的桶上界值进行排序。随后会类似 PromQL 中经典直方图的 histogram_quantile() 函数执行分位数插值:在找到分位数位置所在的桶后,使用该桶的下界和上界进行线性插值。

另请参阅

语法

quantilePrometheusHistogram(level)(bucket_upper_bound, cumulative_bucket_value)

参数

  • level — 可选。分位数的级别。取值为 0 到 1 之间的常量浮点数。建议使用范围为 [0.01, 0.99]level 值。默认值:0.5。在 level=0.5 时,函数计算中位数Float64

参数说明

  • bucket_upper_bound — 直方图桶的上边界。最高桶的上边界必须为 +InfFloat64
  • 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 │
└──────────────────────────────────────────────────────────────────────────┘

另请参阅