美文网首页
java-tracer使用说明

java-tracer使用说明

作者: fengzhongke | 来源:发表于2019-10-16 23:27 被阅读0次

背景介绍

随着java应用日益广泛,各种开源工具琳琅满目,在我们日常业务开发中许多工具框架信手拈来,大大增加了我们程序的开发效率。在这些开源工具或者框架给我们带来便利的时候,我们有的时候也想深入了解一下它们的原理,读读原码,debug调试调试,都是必经之路,java-tracer工具是一个在阅读原码过程中的一个辅助工具

工具效果

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

DEMO预览

一个简单mybatis查询的时序图https://fengzhongke.github.io/pages/chart.html?page=mybatis

下载地址

https://raw.githubusercontent.com/fengzhongke/java-tracer/master/java-tracer.jar

使用方法

使用方法是以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的链接,就可以查看到[线程]栈时序图

线程栈时序图

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

使用举例

相关文章

网友评论

      本文标题:java-tracer使用说明

      本文链接:https://www.haomeiwen.com/subject/hxmpmctx.html