java-tracerJava 源码阅读工具

联合创作 · 2023-10-02 02:48

java-tracer 是一个 Java 源码阅读工具,利用它可以把我们程序运行过程栈录制下来,并实时绘制成时序图,使用简单方便。

工具效果

java-tracer 主要提供[线程]方法调用栈时序图录制/展现功能,在程序运行的时候,录制调用栈,然后借助浏览器一层一层查看调用时序图,结合原i码,能更容易理解框架运行原理。

使用方法

使用方法是以 javaagent 的方法带入程序中,使用模式有两种,第 1 种是函数模式,即录制某个方法,第 2 种是线程模式,即录制所有线程。

函数模式

启动的时候,增加 agent 参数,例如:java -javaagent:xxx/tracer-agent/target/java-tracer.jar xxxMainClass

启动的时候,console 会输出: pages can be found in http://127.0.0.1:18902

打开链接,可以设置需要录制的方法的类名及方法名。

设置完之后,当方法被再次调用的时候,在主页面下面的 result list 模块就会有每次方法的录制记录,点击链接即可看到如上 demo 那样的时序图了。

线程模式

线程模式跟函数模式一样,只是需要增加一个 agent 参数 mode=1,例如:java -javaagent:xxx/tracer-agent/target/java-tracer.jar=mode=1 xxxMainClass

同样,程序启动之后,打开页面 http://127.0.0.1:18902 即可看到线程运行情况。

可以点击 result list 里面的 service 的链接,就可以查看到[线程]栈时序图。

在时序图中,可能通过调节显示栈深度,或者进入方法里面查看栈调用情况。

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报