是否有可能获得最后 t 分钟的 histogram_quantile 的平均值?
Is it possible to get the average of histogram_quantile of the last t minutes?
我要查找的是最后 t 分钟内 p99 延迟的平均值。
我试过这个查询,但它 return 出现错误“范围只允许用于向量选择器”
avg_over_time(histogram_quantile(0.99, sum(rate(latency_buckets{service="foo"}[5m])) by (le))[5m])
据我了解,histogram_quantile
所做的是 return 一个即时值(比方说 p99),并且无法在指定的时间间隔内获得一系列 p99 值。如果有,有没有什么功能可以达到同样的目的?
可以使用 subquery 语法:
avg_over_time(instant_query[interval:resolution])
您的查询示例(平均超过 1 小时):
avg_over_time(
histogram_quantile( # the instant query
0.99,
sum(
rate(latency_buckets{service="foo"}[5m])
) by (le)
)[1h:] # subquery [ interval : resolution (by default == scrape interval)]
)
我要查找的是最后 t 分钟内 p99 延迟的平均值。
我试过这个查询,但它 return 出现错误“范围只允许用于向量选择器”
avg_over_time(histogram_quantile(0.99, sum(rate(latency_buckets{service="foo"}[5m])) by (le))[5m])
据我了解,histogram_quantile
所做的是 return 一个即时值(比方说 p99),并且无法在指定的时间间隔内获得一系列 p99 值。如果有,有没有什么功能可以达到同样的目的?
可以使用 subquery 语法:
avg_over_time(instant_query[interval:resolution])
您的查询示例(平均超过 1 小时):
avg_over_time(
histogram_quantile( # the instant query
0.99,
sum(
rate(latency_buckets{service="foo"}[5m])
) by (le)
)[1h:] # subquery [ interval : resolution (by default == scrape interval)]
)