传统的 Trace 调用链追踪主要依赖框架层面的埋点(如 HTTP、RPC、数据库调用),对于应用代码内部的方法级耗时往往缺乏可见性。ARMS 代码热点通过墙钟(Wall Clock)采样技术弥补了这一缺陷:
工作原理:代码热点通过定时采集线程的完整方法栈快照,记录每个方法的实际执行时间(包括等待 I/O、锁等待等墙钟时间),并将这些数据与 Trace 信息关联。
解决的典型问题:
- 调用链显示某个 Span 耗时很长,但 Span 内部没有更细的子 Span 来定位具体是哪段代码慢
- 偶发性慢调用无法复现,传统抓取线程 dump 的方式很难捕获到问题发生时的状态
- 业务逻辑复杂,框架层埋点无法覆盖所有自定义方法的耗时
使用效果:代码热点会以火焰图的形式展示方法级的耗时分布,用户可以清楚看到哪个自定义方法消耗了最多的墙钟时间。无需额外添加埋点,也无需重启应用,即可获得代码级的性能洞察。