开篇:线上问题排查,光会看日志是不够的
线上出了问题,第一反应是看日志。日志能解决大部分问题,但总有些时候日志不够用——没打日志的地方出了 bug、性能瓶颈藏在某个不起眼的方法里、第三方库的行为不符合预期。这时候你需要更强大的武器。
这篇文章从 Arthas 的核心用法讲起,深入到字节码增强的原理,再到排查方法论的完整思维框架。不追求面面俱到,但力求每个知识点都能在真实的线上排查中派上用场。
一、Arthas 核心命令实战
Arthas 统计方法耗时的原理
Arthas 在统计方法耗时时用的是字节码插桩技术——在需要监控的方法中插入代码,方法执行前记录开始时间,执行完记录结束时间,算差值就是执行时长。
大约 13 分钟