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

Grafana Stat面板计算PostgreSQL时间戳差值不显示问题求助

问题解决方法

核心问题

你当前的两个查询返回的是两个独立的结果集,每个结果集仅包含单个字段。Grafana的数据转换(包括Add field from calculation)仅能对同一个结果集内的字段进行操作,无法跨结果集调用字段计算,因此无法生成result字段,自然也无法在面板中显示。

方案一:直接在SQL中计算差值(推荐)

将两个查询合并为一个,在PostgreSQL内直接完成类型转换与差值计算,返回的结果可直接用于Stat面板:

SELECT 
  -- 将JSON字符串转为bigint后计算时间戳差值
  (info->>'end')::bigint - (info->>'start')::bigint AS result
FROM public.metrics
WHERE PR = $PR;

该查询返回的result字段直接为数值型,Stat面板会自动识别并显示,无需额外数据转换操作。

方案二:保留原查询,通过转换合并结果集

若需保留原有的两个查询,需先合并结果集再执行计算:

  1. 保留你原有的两条SQL查询
  2. 添加第一个数据转换:选择Merge,模式设置为Merge fields,将两个查询的结果合并为单条记录(此时单条记录会同时包含start_value和end_value)
  3. 添加第二个转换:Convert field type,将start_value和end_value转为数值型
  4. 添加第三个转换:Add field from calculation,选择二元运算end_value - start_value,别名为result
  5. 在Stat面板的「Visualization options」中,将「Field」选择为result

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:20:06