【问题标题】:Chart multiple percentiles from distributions using Google MQL使用 Google MQL 从分布中绘制多个百分位数
【发布时间】:2021-06-24 11:36:49
【问题描述】:

如何使用 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,但我无法理解它。

【问题讨论】:

    标签: google-cloud-platform percentile google-cloud-metrics monitoring-query-language


    【解决方案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]
    

    生成如下图表:

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-19
        • 2016-10-19
        • 2020-05-28
        • 2013-02-10
        • 2022-01-22
        相关资源
        最近更新 更多