如何在Grafana饼图面板查询中运用选定时间范围计算
解决Grafana饼图中用时间范围秒数减去查询结果的问题
第一步:获取时间范围的总秒数
Grafana内置变量$__range会返回当前面板选中时间范围的毫秒数,直接除以1000就能得到秒数:$__range / 1000。第二步:编写SQL查询计算最终结果
假设你从target_table中统计的目标秒数是SUM(duration),可以用以下SQL直接计算差值:SELECT "剩余时长" AS metric, ($__range / 1000) - SUM(duration) AS value FROM target_table WHERE time BETWEEN $__timeFrom() AND $__timeTo() -- 按需添加其他过滤条件如果饼图需要展示多分类的差值,可按分类分组查询:
SELECT category AS metric, ($__range / 1000) - SUM(duration) AS value FROM target_table WHERE time BETWEEN $__timeFrom() AND $__timeTo() GROUP BY category如果你的查询结果是毫秒等其他单位,记得先转成秒再计算,比如
SUM(duration)/1000第三步:配置饼图单位
编辑面板 → 切换到显示选项卡 → 在单位设置里选择「时间」分类下的「秒(s)」即可。
内容的提问来源于stack exchange,提问作者Arseniy Sleptsov
相关产品推荐
相关产品推荐

