绘制分布指标图表

本文档介绍如何创建和解读显示 Distribution 值类型的指标数据的图表。如果单个测量值太多而无法收集,但有关这些测量值的统计信息(如平均值或百分位)很有价值,服务无法使用此值类型。 例如,如果应用依赖于 HTTP 流量,您可以使用分布值指标来捕获 HTTP 响应延迟时间,以评估 HTTP 请求的完成速度。

为了说明直方图的创建方式,假设有一个服务测量请求的 HTTP 延迟时间,并使用一个具有分布值类型的指标报告此数据。每分钟报告一次数据。该服务定义指标的值的范围(称为“桶”),并记录每个桶中的测量值的计数。例如,当一个 HTTP 请求完成时,该服务会递增其范围包括该请求的延迟时间值的桶中的计数。这些计数用于创建该分钟的值的直方图。

假设在一分钟内测量的延迟时间为 5、1、3、5、6、10 和 14。 如果桶为 [0, 4)、[4, 8)、[8, 12) 和 [12, 16),则此数据的直方图为 [2, 3, 1, 1]。下表显示了各测量值如何影响每个桶的计数:

存储桶 延迟时间测量值 存储分区中值的数量
[12, 16) 14 1
[8,12) 10 1
[4,8) 5, 5, 6 3
[0,4) 1, 3 2

将此类数据写入时间序列时,会创建一个 Point 对象。对于具有分布值的指标,该对象包含值直方图。对于此采样周期,Point 包含 [2, 3, 1, 1]。单个测量值不会写入时间序列。

下表展示了一系列直方图。表中的每一列表示一分钟内的延迟时间数据:

存储桶
1:00 的直方图

1:01 的直方图

1:02 的直方图

1:03 的直方图
[12, 16) 1 6 0 1
[8,12) 1 0 2 2
[4, 8) 3 1 1 8
[0, 4) 2 6 10 3

热图图表

热图图表旨在显示包含分布值的单个时间序列。对于这些图表,X 轴表示时间,Y 轴表示桶,颜色表示值。颜色越亮表示值越高。例如,热图的深色区域表示存储分区计数低于黄色或白色区域。

下图是上文示例的热图表示形式:

示例的热图图表。

在上图中,热图用黑色表示最小桶计数 0,用黄色表示最大桶计数 10。红色和橙色表示这两个极值之间的值。

由于热图图表只能显示单个时序,因此如果您有多个时序,则必须设置聚合选项以将它们组合成单个时序。例如,如需使用 Metrics Explorer 创建显示时序总和的热图图表,请执行以下操作:

  1. 在 Cloud Console 中,选择 Monitoring,或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 Metrics Explorer
  3. 选择分布值指标和资源。例如,选择 RTT 延迟时间指标和虚拟机实例资源。
  4. 在 Metrics Explorer 工具栏中,点击折线图 ,然后选择热图
  5. 使用配置窗格将时间序列合并到一个时间序列中:

    • 确保分组依据字段为空。
    • 选择总和作为聚合器

折线图和条形图

旨在显示标量数据的折线图、堆叠条形图和堆叠折线图无法显示分布值。如需使用这些图表类型之一显示具有分布值的指标,您必须将直方图值转换为标量值。例如,您可以计算直方图中的值之和,也可以选择百分位。

例如,下表中的每一行都包含时间戳、一个直方图以及直方图值的总和:

时间 直方图 直方图值的总和
1:00 [2, 3, 1, 1] 7
1:01 [6, 1, 0, 6] 13
1:02 [10, 1, 2, 0] 13
1:03 [3, 8, 2, 1] 14

在上表中,您可以使用 X-Y 图显示直方图值的总和。

对于存储 HTTP 延迟时间信息的指标,总和是有意义的测量结果,因为它间接表示已完成的 HTTP 请求的数量。上表中的数据表明 HTTP 请求完成速率较低但相对稳定:

示例折线图。

折线图仅显示具有标量值的时序。如需在折线图上显示分布值指标,请使用聚合字段将分布值转换为标量值。例如,如需使用 Metrics Explorer 显示分布值指标的第 99 百分位,请执行以下操作:

  1. 在 Cloud Console 中,选择 Monitoring,或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 Metrics Explorer
  3. 选择分布值指标和资源。例如,选择 RTT 延迟时间指标和虚拟机实例资源。
  4. 确保 Metrics Explorer 工具栏显示折线图
  5. 在配置窗格中,为聚合器选择第 99 百分位

聚合和分布指标

聚合是对时序中的点进行正则化以及合并多个时序的过程。分布类型指标的聚合与值类型为整数或双精度数的指标相同。但是,图表类型要求对用于校准和分组时间序列的选择施加一些要求。

热图图表

热图图表显示分布值时间序列。如果您有多个时序,则必须使用校准函数分组函数来创建单个时序。

当图表显示热图时,选择总和或增量校准函数。这些函数在存储分区级别中将同一校准时间段的单个时间序列的所有样本组合在一起,并且结果为分布值。例如,如果一个时序的两个相邻样本为 [2, 3, 1, 1] 和 [2, 5, 4, 1],则总和校准函数会生成 [4, 8, 5, 2]。

分组函数定义不同时序的合并方式。此函数有时称为聚合器或缩减器。对于热图,请将分组函数设置为总和函数。总和函数在所有直方图中添加相同桶值,从而产生新的直方图。例如,timeseries-A 的值 [2, 3, 1, 1] 和 timeseries-B 的值 [1, 5, 2, 2] 的总和为 [3, 8, 3, 3]。

折线图

折线图仅显示标量值的时序。如需在折线图上显示分布值指标,请使用校准函数或分组函数将分布值转换为标量值:

  • 百分位校准函数会将分布值转换为标量值。使用这些校准函数,可以选择对时序进行分组。

  • 总和及增量校准函数不会将分布值转换为标量值。使用这些校准函数时,请选择将分布值转换为标量值的分组函数。

例如,如需在信息中心上配置折线图,以显示分布值指标的每个时序的第 99 百分位,请执行以下操作:

  1. 在 Cloud Console 中,选择 Monitoring,或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 信息中心,然后选择要查看或修改的信息中心。
  3. 如果未显示 修改,请点击 查看,然后选择切换到修改模式
  4. 图表库中选择折线图微件,从而将折线图添加到信息中心。
  5. 修改折线图配置,以显示特定资源的分布值指标。例如,选择 RTT 延迟时间指标和虚拟机实例资源。
  6. 将图表配置为使用百分位校准函数:

    • 基本标签页:清除分组并选择第 99 百分位
    • 高级标签页:选择预处理步骤中的百分位,并使用菜单选择第 99 百分位。此外,请确保分组依据字段为空,且分组函数设置为

生成的图表可显示多条线,每个时序对应一条线。

在另一个示例中,假设您要显示一个时序,这是分布值指标的时序的第 99 百分位。如需配置此图表,请将上一序列中的最后一步替换为以下步骤,该步骤指定总和校准函数并设置分组函数:

  1. 选择高级标签。
  2. 在预处理步骤中选择无预处理步骤
  3. 校准函数设置为总和
  4. 确保分组依据字段为空,并将分组函数设置为 99 百分位

生成的图表显示一条线。

后续步骤

如需了解如何确定指标的桶模型以及如何解读百分位,请参阅百分位和分布值指标