美文网首页
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