Grafana中计算每小时Confirm请求占Submit请求百分比的正确方式
问题解答
原查询语句不正确,存在两个关键问题:
- 函数名拼写错误:
asPecent应为asPercent,拼写错误会直接导致查询无法执行。 - 聚合逻辑冗余:
sumSeries本身已实现多维度时间序列的求和合并,再嵌套summarize(..., '1h', 'sum', false)属于重复聚合操作。多数监控系统中,若要按1小时窗口计算总和,直接通过sumSeries指定时间窗口,或单独使用summarize即可,无需两层嵌套。
正确的查询逻辑应该是:
- 对#B(Confirm成功请求)按1小时窗口计算总和
- 对#A(Submit成功请求)按1小时窗口计算总和
- 将两者的小时总和做百分比转换
修正后的示例查询(适配常见监控系统语法):
asPercent(sumSeries(#B, '1h'), sumSeries(#A, '1h'))
或若系统要求通过summarize指定聚合窗口:
asPercent(summarize(#B, '1h', 'sum'), summarize(#A, '1h', 'sum'))
调整后即可正确计算每小时Confirm请求占Submit请求的百分比。
内容的提问来源于stack exchange,提问作者Sheyko Dmitriy
相关产品推荐
相关产品推荐

