postgresql Grafana:X-Y图表,如何用多值变量的单独行表示数据

yhqotfr8  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(1)|浏览(225)

我为每个 build 都准备了大量的数据,我想用Grafana X-Y图表来可视化这些数据。比如(简化):
| KPI|平均时间|构建ID|
| --------------|--------------|--------------|
| 启动应用程序|一百五十|八七零|
| 停止应用程序|八九十|八七零|
| KPI|平均时间|构建ID|
| --------------|--------------|--------------|
| 启动应用程序|一百四十|八七一|
| 停止应用程序|八六零|八七一|
我使用PostgreSQL显示每个kpi的行,其中build_id作为X,average_time作为Y

SELECT DISTINCT ON (kpi, build_id)
       build_id AS BUILD_ID, 
       average_time AS AVERAGE_TIME
       FROM <MY_TABLE> WHERE kpi IN (${kpi});

...而$kpi是一个多值变量,仅由SELECT kpi FROM <MY_TABLE>;返回
当我尝试选择Start App作为单个$kpi值时,它看起来正常x1c 0d1x
但如果选择两个$kpi值,它看起来像两条线(这就是我想要的),但彼此连接(这不是我想要的),并有额外的线

那么,如何为每个kpi显示单独的行(可以为每个行设置颜色)?

更新

bnlyeluc

bnlyeluc1#

没有简单的方法可以做到你所描述的,但这是可能的。
要以不同的方式显示图表,您需要在面板中显示不同系列的值。可以通过三种主要方式来实现:
1.按原样查询数据,并将其拆分到Grafana这一边。
1.在单选框内查询数据,但每个kpi的平均时间应在单独的列中。
1.独立地查询每个kpi的数据。我相信这是最坏的情况,因为你需要一个单独的查询,并将每个数据集链接到面板。我不会详细描述它,因为它本身就很清楚。

方式一

1.打开Panel的编辑模式,选择【变换】。
1.增加按值分区,选择kpi,数据将被拆分成不同的系列。
1.转到面板选项并手动添加所有新系列:

  1. XY图表〉系列Map〉手动
    1.为每个系列选择相应的字段。
方式2

1.创建查询透视数据(例如,使用this question的答案之一),以便它以以下方式返回列:

  • build_id,
  • start_app_avg_time,
  • stop_app_avg_time,
    • kpi的平均时间

1.在面板选项中:XY图表〉系列Map〉自动
1.选择X字段build_id,其余自动选中。
对于提供的示例数据,两种方法的结果看起来都是这样的:

相关问题