概念术语
调试(Debug)
Debug,可以定义为 Troubleshoot 的一个子集。调试要求开发人员查找并修复与计算机软件相关的问题。
排障(Troubleshoot)
故障排除,被定义为允许程序员识别给定系统中发生的问题的过程。它明显存在于比 Debug 更高的级别,因为它适用于所述系统中的更多元素。
追溯(Trace)
1)其是指从问题点回溯到起始位置(Begin <- Current);
2)用于追踪问题,找到具体原因(起始点);
追踪(Track)
1)其是指从起始点追踪到当前位置(Begin -> Current);
程序分析(Program Aanalysis)
目的:自动分析计算机程序关于正确性、健壮性、安全性、活性等属性的行为的过程;
程序分析侧重于两个主要领域:
1)程序优化:侧重于提高程序的性能,同时减少资源使用;
2)程序正确:侧重于确保程序按预期进行;
程序分析的两种方式:
1)static program analysis: without executing the program
2)dynamic program analysis: during runtime
应用性能监控(Application Performance Monitoring)
The role of APM and distributed tracing in observability | Sumo Logic
Track & Trace | Odette
Why APM distributed tracing is not enough for developers – Helios
功能作用
性能追踪,以系统组件为单位,其重点落在系统组件问题的排查;
已知问题
在某些情况下,现有的 APM 解决方案已经足够好了——比如在解决性能瓶颈或定位错误的 API 调用时;
但在许多情况下,所收集数据的粒度以及可视化功能根本无法满足开发人员的调查需求。因此,在开发微服务时,开发人员仍然一无所知。他们仍然需要手动查看日志或继续尝试在本地环境中重现问题,试图找到并解决这些问题;
针对分布式追踪,其跟踪整个应用程序、RPC 调用、队列等请求的路径,能够提供单次操作相关的详细描述。
分布式追踪系统(Distributed Tracing System)
功能作用
跟踪对于查明性能问题的根源至关重要,其以事务为单位,其重点落在特定事务问题的排查;