大型组织中实现追踪的全面指南
1. 追踪测试与开发融合
测试期望可通过对追踪模型的查询来表达,其语法为伪语言。同一代码不仅能作为单元测试,还能用于针对预生产环境的集成测试,甚至在生产环境中作为持续测试和操作正确性的监控工具。当前开发和监控实践常相互分离,若监控在开发阶段无用,监控代码质量会受影响,因为缺乏反馈循环。而所提出的方法将监控(追踪)代码直接融入开发过程。
2. 追踪质量指标系统
2.1 系统概述
Uber内部实现了一个名为追踪质量指标(Tracing Quality Metrics)的报告系统,它是一个更大报告系统的一部分,可提供工程制品质量的各种指标,涵盖从单个微服务到团队、部门乃至整个工程的汇总信息。该系统旨在通过跟踪可衡量指标,如代码覆盖率、集成测试、容量测试和混沌测试的可用性、效率、合规性以及微服务元数据(如值班人员等),来帮助提升公司整体工程质量。服务的追踪质量是该系统跟踪的指标之一。
2.2 指标分析
仅用“是或否”指标来跟踪分布式追踪的采用情况是不够的,因为即使服务有追踪工具且能收集数据,也可能存在工具使用不正确或不完整的问题。为此,Uber实现了一个流式作业,对所有收集的追踪数据进行分析,查找常见错误和遗漏,即质量指标。对于每个质量指标,作业会计算满足和不满足标准的追踪数量,失败数量与总追踪数量的比率即为0到1之间的简单分数(或百分比)。
2.3 指标分类
指标分为以下三类:
| 类别 | 说明 | 示例指标 |
| — | — | — |
| 完整性(Completeness) | 分数低意味着追踪可能损坏,
超级会员免费看
订阅专栏 解锁全文
842

被折叠的 条评论
为什么被折叠?



