主要观点:讨论了跟踪的准确性,包括在 Datadog APM 及其他类似工具中,跟踪可能无法完全反映现实的各种方式,如请求未到达服务器、应用程序和代理的采样、摄取采样、保留过滤器等,即便捕获所有跟踪数据,通过草图算法处理后仍可能与现实有偏差,最终强调在软件中真正的准确性在一定程度上并不重要,更应关注足够的细节以了解情况发生即可。
关键信息:
- 存在部分请求根本无法到达服务器,不会在跟踪中显示。
- 默认情况下,服务每秒保存 100 条跟踪,可设置采样率,应用程序内代码也可能导致跟踪被丢弃或保留。
- 接收所有跟踪的进程有自己的采样,每秒仅保留约 10 条/代理实例,还可能因各种原因被限制或丢弃。
- 上游服务可决定涉及自身服务的跟踪是否被丢弃或保留。
- 保留过滤器默认保留所有错误和部分成功跟踪,可设置保留所有跟踪但成本高。
- 介绍了 DDSketch 草图算法,用于近似处理数据,在处理百分位数时可能存在偏差。
重要细节: - 以各种图表展示了 Datadog 摄取管道的不同部分及相关采样等情况。
- 提到不同情况下对跟踪准确性的影响及相关配置选项,如错误采样器等。
- 引用《论科学的精确性》的故事说明在软件中过度追求精确性可能无用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。