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 │
└──────────────────────────────────────────────────────────────────────────┘另请参见