本文档介绍如何创建和解读显示 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 的令牌桶计数如下表所示:
存储桶 | 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 显示虚拟机实例的 RTT 延迟时间总和,请执行以下操作:-
在 Google Cloud 控制台中,前往 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。 对于 App Hub 配置,请选择 App Hub 宿主项目或启用应用的文件夹的管理项目。
- 在指标元素中,展开选择指标菜单,在过滤栏中输入
RTT latencies
,然后使用子菜单选择一个特定资源类型和指标:- 在活跃资源菜单中,选择虚拟机实例。
- 在活跃指标类别菜单中,选择 Vm_flow。
- 在活跃指标菜单中,选择 RTT 延迟时间。
- 点击应用。
折线图和条形图
旨在显示标量数据的折线图、堆叠条形图和堆叠折线图无法显示分布值。如需使用这些图表类型之一显示具有分布值的指标,您必须将直方图值转换为标量值。例如,您可以设置汇总选项,以计算直方图中值的平均值或百分位数。
如需了解如何在折线图上显示分布值指标,请参阅下一部分。
聚合和分布指标
聚合是对时序中的点进行正则化以及合并多个时序的过程。分布类型指标的聚合与值类型为整数或双精度数的指标相同。但是,图表类型要求对用于校准和分组时间序列的选择施加一些要求。
热图图表
热图图表显示分布值时间序列。因此,必须设置校准函数和分组函数,才能创建单个时间序列。
当图表显示热图时,选择 sum
或 delta
对齐函数。这些函数在存储分区级别中将同一校准时间段的单个时间序列的所有样本组合在一起,并且结果为分布值。例如,如果一个时序的两个相邻样本为 [2, 3, 1, 1] 和 [2, 5, 4, 1],则总和校准函数会生成 [4, 8, 5, 2]。
分组函数定义不同时序的合并方式。此函数有时称为聚合器或缩减器。对于热图,请将分组函数设置为 sum
函数。总和函数在所有直方图中添加相同桶值,从而产生新的直方图。例如,timeseries-A 的值 [2, 3, 1, 1] 和 timeseries-B 的值 [1, 5, 2, 2] 的总和为 [3, 8, 3, 3]。
折线图
折线图仅显示标量值的时序。如果您选择的是具有分布值的指标,则系统会使用最佳参数配置图表,以显示热图。Aggregation 元素的字段设置为分布和无。
分布的解读取决于具体指标。对于具有
GAUGE
指标类型的分布值指标,默认校准函数设置为sum
。当分布值指标类型具有CUMULATIVE
指标种类时,默认对齐函数为DELTA
。设置为“无”可确保将所有时间段合并。
如果您想在折线图上显示分布值指标,则必须更改图表的默认设置。例如,如需在信息中心上配置折线图,以显示分布值指标的每个时序的第 99 百分位,请执行以下操作:
-
在 Google Cloud 控制台中,前往
信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 主机项目或启用应用的文件夹的管理项目。
- 在工具栏中,点击 add Add widget(添加 widget)。
- 在添加微件对话框中,选择 leaderboard Metric。
- 在指标元素中,选择 VM Instance - RTT latencies 指标。
- 在汇总元素中,展开第一个菜单,然后选择第 99 百分位。
- 在显示窗格中,将微件类型菜单的值设置为折线图。
- 可选:在汇总元素中,展开第二个菜单,然后选择用于对时间序列进行分组的标签。默认情况下,系统不会选择任何标签,因此图表上会显示一条线。
后续步骤
如需了解如何确定指标的桶模型以及如何解读百分位,请参阅百分位和分布值指标。