0

如何使用 Google Cloud Platform 中的 MQL 在基于单个分布指标的单个图表中绘制多条线,例如不同的百分位数?

以下查询将使用分布度量的第 50 个百分位绘制图表:

fetch global::logging.googleapis.com/user/my_metrics.response_time |
percentile_from 50

是一个基于日志的my_metrics.response_time分布度量,单位ms为 ,图表如下所示:

p50 图表

我也想在同一张图表中绘制第 50、90 和 95 个百分位数。到目前为止,我最好的尝试是:

fetch global::logging.googleapis.com/user/my_metrics.response_time |
{
    percentile_from 50
    ;
    percentile_from 90
    ;
    percentile_from 95
} |
union

然而,这只再次绘制了一条线(它似乎是第 90 个百分位):

失败

上述尝试基于此示例,该示例从单个度量中绘制多条线。

我尝试了各种对齐功能等,但我认为问题在于我对数据模型没有很好的理解。某处可能有一个group_by []outer_join 0丢失,但我无法理解它。

4

2 回答 2

1

一种似乎可行的解决方案是使用union_group_by以多个表作为输入进行分组操作,并结合add创建标签来分组:

fetch global::logging.googleapis.com/user/my_metrics.response_time |
{
    percentile_from 50 | add [p: "50th percentile"]
    ;
    percentile_from 90 | add [p: "90th percentile"]
    ;
    percentile_from 95 | add [p: "95th percentile"]
} |
union_group_by [p]

生成以下图表:

三线图表

于 2021-06-24T12:05:32.900 回答
1

另一个答案很聪明(也是使用带有百分位线的堆积面积图类型的唯一方法),但与基本编辑器相比,它确实使配置复杂化。

如果目标是在同一张图表上只有多个百分位数,还有其他一些可能性:

  1. 使用带有百分位线的热图图表类型。如果您的数据属于类型,DISTRIBUTION那么选择 Heatmap 图表类型将立即为您提供查看图表上所有 3 个百分位线的选项。我通常会隐藏实际的热图,因为我觉得它会分散注意力。

  2. 通过基本编辑器添加初始百分位线后,您可以将另一个几乎相同的指标添加到图表中,以同时查看这两个指标。这些指标不能与面积图类型一起使用,但在其他方面看起来与其他答案相同。

于 2021-07-03T09:30:18.257 回答