跳到主要内容
跳到主要内容

quantilePrometheusHistogram

使用线性插值计算直方图的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 时,函数计算中位数

  • bucket_upper_bound — 直方图桶的上边界。

    • 最高桶的上边界必须为 +Inf
  • cumulative_bucket_value — 直方图桶的累积 UIntFloat64 值。

    • 随着桶上边界的增大,这些值必须单调递增。

返回值

  • 指定级别的分位数。

类型:

  • Float64

示例

输入表:

   ┌─bucket_upper_bound─┬─cumulative_bucket_value─┐
1. │                  0 │                       6 │
2. │                0.5 │                      11 │
3. │                  1 │                      14 │
4. │                inf │                      19 │
   └────────────────────┴─────────────────────────┘

结果:

   ┌─quantilePrometheusHistogram(bucket_upper_bound, cumulative_bucket_value)─┐
1. │                                                                     0.35 │
   └──────────────────────────────────────────────────────────────────────────┘

另请参阅