You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Grafana时间序列面板展示时间区间内的Delta值(从0起始)

在Grafana时间序列面板展示相对起始点的Delta值

以下是两种可行的实现方式,无需依赖「Visual mapping」板块,解决你要从0开始统计时间区间首尾值差值的需求:

1. 数据源查询层面直接计算(推荐)

根据你使用的数据源类型,用对应函数直接计算每个点相对于时间区间起始值的差值:

  • Prometheus:使用表达式 metric - first_over_time(metric[$__range]),其中$__range是Grafana内置变量,自动匹配当前面板选择的时间区间长度。这个表达式会把区间内第一个值作为基准(0),后续每个点的值都减去该基准,最终生成从0开始的增量序列,最后一个点的数值就是首尾值的总差值。
  • InfluxDB:通过子查询先获取起始值,再计算差值,示例SQL:
    SELECT ("value" - (SELECT FIRST("value") FROM "metric" WHERE time >= now() - $__range)) AS "delta_value" FROM "metric" WHERE time >= now() - $__range
    
  • Graphite:使用函数组合 subtractSeries(metric, keepLastValue(shift(metric, $__range))),通过shift平移序列获取起始值,再用subtractSeries完成差值计算。

2. 利用Grafana Transform转换实现

如果不想修改原始查询,可在面板「Transform」标签页按以下步骤操作:

  • 添加「Reduce」转换,聚合方式选择「First」,生成当前时间区间的起始值字段。
  • 再添加「Add field from calculation」转换,选择「Binary operation」,操作数分别选原始值字段和刚生成的起始值字段,运算符选「Subtract」,得到每个点相对于起始值的差值字段。
  • 最后隐藏原始值字段和起始值字段,只保留计算出的delta字段即可。

内容的提问来源于stack exchange,提问作者alex747

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:04:56