主要观点:
- 打印调试是一种工具,有其用途,但如有更好工具可替代。对于作者来说,更好的工具是 OpenTelemetry 追踪,它粒度高、有操作间的父子关系、时间信息且可过滤搜索,还可用于远程调试。
- 打印调试的优点是随时可用,缺点是较基础,如需其他功能需自行实现。
- 早期使用 Visual Studio 调试器,学会很多功能,但学习自动化测试后使用调试器时间减少,更倾向于 OpenTelemetry 和追踪。
- OpenTelemetry 追踪默认能看到函数调用关系、每个跨度的时间等,缺点是需某种方式查看数据,本地开发可用 Grafana Tempo 或 Otel-TUI,部署环境用 honeycomb,多数项目添加追踪查看器较简单。
- 维护内部 CLI 应用时,用户可添加 --store-traces 标志将追踪数据写入文件发送给作者,作者用追踪数据查找问题。
关键信息:
- 提到的工具及相关信息:Visual Studio 调试器、OpenTelemetry(包含 tracing、stdout 追踪导出器、Grafana Tempo、Otel-TUI、honeycomb)、内部 CLI 应用的 --store-traces 标志。
- 不同工具的特点:打印调试随时可用但基础,OpenTelemetry 追踪功能强大且可用于远程调试等。
重要细节:
- 打印调试时语句可能缓冲,需加时间戳解决顺序问题。
- 早期使用调试器时对其功能的学习及后续使用调试器时间的变化。
- 为项目添加追踪查看器的简单示例(docker-compose 文件配置)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。