我为每个 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
显示单独的行(可以为每个行设置颜色)?
更新
1条答案
按热度按时间bnlyeluc1#
没有简单的方法可以做到你所描述的,但这是可能的。
要以不同的方式显示图表,您需要在面板中显示不同系列的值。可以通过三种主要方式来实现:
1.按原样查询数据,并将其拆分到Grafana这一边。
1.在单选框内查询数据,但每个kpi的平均时间应在单独的列中。
1.独立地查询每个
kpi
的数据。我相信这是最坏的情况,因为你需要一个单独的查询,并将每个数据集链接到面板。我不会详细描述它,因为它本身就很清楚。方式一
1.打开Panel的编辑模式,选择【变换】。
1.增加按值分区,选择
kpi
,数据将被拆分成不同的系列。1.转到面板选项并手动添加所有新系列:
1.为每个系列选择相应的字段。
方式2
1.创建查询透视数据(例如,使用this question的答案之一),以便它以以下方式返回列:
1.在面板选项中:XY图表〉系列Map〉自动
1.选择X字段
build_id
,其余自动选中。对于提供的示例数据,两种方法的结果看起来都是这样的: