Java 源码阅读工具 java-tracer

GPL
Java JavaScript HTML/CSS
跨平台
2019-10-21
nkhanlang

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

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

的码云指数为
超过 的项目
加载中
此软件有 1 条评论,请先登录后再查看。

暂无资讯

暂无问答

java -d . **.java 与 java **.java 的区别

如何在命令行模式下运行带包的java文件 https://blog.csdn.net/lytor/article/details/17048361 javac,使用"-d ."与省略-d的区别 https://blog.csdn.net/ppxxyy1110/article/details/20971...

2018/06/20 15:53
220
0
java JDBC

JDBC(Java DataBase Connectivity, java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 有了JDBC,向各种关系数...

2018/12/15 17:56
207
0
Java ThreadLocal

Java的ThreadLocal变量用来创建线程本地变量。我们知道,一个对象上的所有线程,都会共享该对象的变量,所以这些共享的变量不是线程安全的。我们可以使用synchronization同步语法来使得线程安...

2018/01/23 11:41
281
0
Java的ThreadLocal

简介 ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个...

2019/07/28 21:30
82
0
java 之ThreadLocal

java 之ThreadLocal

2015/04/04 23:18
378
0
java_jdbc

jdbc:数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。    JDBC提供了一种基准,据此可以构建更高级的工具和接...

2018/10/11 14:17
73
0
Java_JDBC

JDBC-ODBC桥连接形式:利用微软提供的ODBC进行数据库链接,然后利用JDBC访问ODBC的函数库,实现数据操作 流程:程序>JDBC>ODBC>数据库;这样操作性能差,但支持度最高,不需要配置任何第三方...

2018/04/13 23:27
63
0
java JDBC

数据库URL JDBC URL的一般语法为: jdbc:subprotocol:other stufff 其中,suprotocol 用于选择连接到数据库的具体驱动程序, other stuff 参数的格式随所使用的subprotocol的不同而不同 例如: j...

2019/03/23 19:16
42
0
Java JVM

JVM整体工作流程   Java源文件.java 文件通过javac命令编译成.class文件,编译的文件也可以从网络上下载的jar、zip包等,通过java命令进行运行。    一个Java类的生命周期: 加载->链接(...

2018/08/07 11:10
104
0
java之jvm

1.JVM内存模型 线程独占:栈,本地方法栈,程序计数器 线程共享:堆,方法区 回答以上问题是需回答两个要点: 1. 各部分功能 2. 是否是线程共享 2.JMM与内存可见性 JMM是定义程序中变量的访问规则,...

2019/06/29 09:17
179
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部