使用 Google MQL 从分布中绘制多个百分位数
Chart multiple percentiles from distributions using Google MQL
如何在 Google Cloud Platform 中使用 MQL 基于单个分布指标在单个图表中绘制多条线,例如不同的百分位数?
以下查询将使用分布指标的第 50 个百分位数绘制图表:
fetch global::logging.googleapis.com/user/my_metrics.response_time |
percentile_from 50
my_metrics.response_time
是一个基于日志的分布指标,单位ms
,图表如下:
我还想在同一图表中绘制第 50、90 和 95 个百分位数。到目前为止我最好的尝试是:
fetch global::logging.googleapis.com/user/my_metrics.response_time |
{
percentile_from 50
;
percentile_from 90
;
percentile_from 95
} |
union
这只会再次绘制一条线,但是(它似乎是第 90 个百分位数):
上面的尝试基于 this example,它根据单个指标绘制多条线。
我尝试过各种对齐函数等,但我认为问题只是我对数据模型没有很好的理解。可能某处缺少 group_by []
或 outer_join 0
,但我无法理解它。
一个似乎有效的解决方案是使用 union_group_by
to do a group by operation with multiple tables as input, in combination with 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]
生成如下图表:
另一个答案很聪明(也是使用带百分位线的堆积面积图类型的唯一方法)但与基本编辑器相比它确实使配置复杂化。
如果目标只是在同一张图表上有多个百分位数,还有其他一些可能性:
使用带有百分位线的热图图表类型。如果您的数据类型为 DISTRIBUTION
,那么选择热图图表类型将立即为您提供查看图表上所有 3 个百分位线的选项。我通常会隐藏实际的热图,因为我觉得它会分散注意力。
通过基本编辑器添加初始百分位线后,您可以向图表添加另一个几乎相同的指标,以同时查看这两个指标。这些指标在面积图类型方面不能一起使用,但在其他方面看起来与其他答案相同。
如何在 Google Cloud Platform 中使用 MQL 基于单个分布指标在单个图表中绘制多条线,例如不同的百分位数?
以下查询将使用分布指标的第 50 个百分位数绘制图表:
fetch global::logging.googleapis.com/user/my_metrics.response_time |
percentile_from 50
my_metrics.response_time
是一个基于日志的分布指标,单位ms
,图表如下:
我还想在同一图表中绘制第 50、90 和 95 个百分位数。到目前为止我最好的尝试是:
fetch global::logging.googleapis.com/user/my_metrics.response_time |
{
percentile_from 50
;
percentile_from 90
;
percentile_from 95
} |
union
这只会再次绘制一条线,但是(它似乎是第 90 个百分位数):
上面的尝试基于 this example,它根据单个指标绘制多条线。
我尝试过各种对齐函数等,但我认为问题只是我对数据模型没有很好的理解。可能某处缺少 group_by []
或 outer_join 0
,但我无法理解它。
一个似乎有效的解决方案是使用 union_group_by
to do a group by operation with multiple tables as input, in combination with 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]
生成如下图表:
另一个答案很聪明(也是使用带百分位线的堆积面积图类型的唯一方法)但与基本编辑器相比它确实使配置复杂化。
如果目标只是在同一张图表上有多个百分位数,还有其他一些可能性:
使用带有百分位线的热图图表类型。如果您的数据类型为
DISTRIBUTION
,那么选择热图图表类型将立即为您提供查看图表上所有 3 个百分位线的选项。我通常会隐藏实际的热图,因为我觉得它会分散注意力。通过基本编辑器添加初始百分位线后,您可以向图表添加另一个几乎相同的指标,以同时查看这两个指标。这些指标在面积图类型方面不能一起使用,但在其他方面看起来与其他答案相同。