2. 核心概念:度量(Metric)、维度(Dimension)、口径(Definition)、原子指标与派生指标
在构建发布健康指标体系时,统一且精确的核心概念是团队协作的基石。如果团队对“度量”和“维度”的理解不一致,口径对齐将无从谈起。本节将系统定义五个核心概念,并厘清它们之间的层级与派生关系。
2.1 度量(Metric)与维度(Dimension)
度量 是对业务现象进行量化描述的数字,通常是一个可聚合的数值。在发布场景中,度量回答“多少”或“多快”的问题。
维度 是观察度量的角度或属性,通常是一个枚举值或分类标签。维度回答“按什么切分”的问题。
| 概念 | 定义 | 发布健康场景示例 | 典型特征 |
|---|---|---|---|
| 度量(Metric) | 可量化的数值指标,支持加和、平均、计数等聚合运算 | 部署次数、平均恢复时长(MTTR)、变更失败率 | 数值型、可聚合、随时间变化 |
| 维度(Dimension) | 描述度量所属环境的分类属性 | 环境(生产/预发)、服务名、发布方式(蓝绿/灰度) | 枚举型、有限取值、用于分组过滤 |
实践要点: 同一个度量在不同维度下会呈现完全不同的健康信号。例如“部署频率”按“服务名”维度展开,可以快速定位哪个团队的发布节奏异常。
2.2 口径(Definition)
口径 是度量或维度的精确计算规则与业务约定。口径决定了同一个名称在不同团队、不同时期是否指向同一个数字。口径通常包含以下要素:
- 业务边界: 包含什么、排除什么(例如:是否包含回滚操作?是否包含非工作时间部署?)
- 计算逻辑: 分子/分母定义、聚合方式(SUM / COUNT / AVG / PERCENTILE)
- 时间窗口: 按天、按周、按发布单、还是按滚动窗口?
- 数据来源: 取自发布工单系统、CI/CD 流水线、还是监控平台?
口径冲突典型案例:
“发布时长”在 A 团队定义为“从提交发布单到发布完成”,在 B 团队定义为“从流水线开始执行到所有实例就绪”。两个团队讨论同一指标时,数字可能相差 30% 以上。口径文档化是解决此类冲突的唯一手段。
“发布时长”在 A 团队定义为“从提交发布单到发布完成”,在 B 团队定义为“从流水线开始执行到所有实例就绪”。两个团队讨论同一指标时,数字可能相差 30% 以上。口径文档化是解决此类冲突的唯一手段。
2.3 原子指标与派生指标
为了支撑口径的复用与组合,我们将指标分为两个层级:原子指标 和 派生指标。这种分层设计是 Metric Design 的核心方法论。
| 指标类型 | 定义 | 特点 | 发布健康示例 |
|---|---|---|---|
| 原子指标 | 不可再拆分的、具有明确业务含义的单一度量 | 唯一口径、无维度修饰、基础可复用 | 部署次数、失败次数、回滚次数、部署时长(秒) |
| 派生指标 | 基于原子指标,通过加减乘除或维度限定衍生出的复合指标 | 口径继承自原子指标、可叠加维度、面向具体场景 | 变更失败率(失败次数/部署次数)、生产环境平均部署时长 |
派生指标可以进一步细分为两种常见模式:
- 比率型派生: 两个原子指标相除,如
变更失败率 = 失败次数 / 部署次数 - 维度限定型派生: 对原子指标增加维度过滤,如
生产环境部署次数 = 部署次数 WHERE 环境 = '生产'
2.4 四者关系总结
度量、维度、口径、原子/派生指标并非孤立概念,它们共同构成了指标体系的四层结构:
- 底层: 原始数据(日志、工单、流水线事件)
- 定义层: 口径(明确计算规则与边界)
- 基础层: 原子指标(单一、不可拆分的度量)
- 应用层: 派生指标(叠加维度、组合运算后的业务指标)
常见误区: 很多团队跳过“口径”直接定义指标,导致原子指标名称相同但数字不同。务必先完成口径文档化,再定义原子指标,最后派生业务指标。顺序不可颠倒。