Java方法跟蹤工具,Java Debug工具,Java方法耗時統計工具,方便你了解各種開源框架的源碼
大家最閱讀源碼常用的手段應該是借助開發工具debug?又或者是把log4j的基本改成debug?今天要和大家分享一個幫助你更好地閱讀源碼神器,瞬間讓你知道某個方法調用的所有方法棧(如果你想記錄SpringBoot2.0的啟動過程所有執行到的方法,必須調整JVM參數,不然隨時OOM了),非常詳細地記錄了所有被調用到的方法及其耗時。下面具體了解一下:
一:Java Spy
Java Spy是一個獨立的Jar包,以-javaagent的方式運行,會跟蹤和記錄設定方法的所有方法的調用過程及其耗時。
二:Spy Demo
Spy Demo是基於SpringBoot2.0的項目,集成了springweb和mybatis。基於這個項目我們來看看SpringBoot2.0的啟動過程以及一個Http Call的執行過程。現在看看如何配置並運行Spy Demo:
(1) 配置Idea和 Java程序的JVM參數
-javaagent:C:\Users\Jo\IdeaProjects\java-spy\java-spy.jar -Xms4096m -Xmx4096m
(2)配置需要忽略的包名
SPY_IGNORE_FILE是固定的,spy_ignores.txt的路徑可以隨意改,下面看看spy_ignores.txt中忽略了哪些package:
com.fasterxml
org.aspectj
io.opentracing
ch.qos.logback
org.hibernate
org.jboss
org.springframework.util
org.springframework.jmx
org.springframework.format
org.springframework.boot.logging
org.springframework.expression
org.springframework.asm
org.springframework.cglib
org.apache
org.slf4j
com.sun
sun
java
在跟蹤SpringBoot的啟動過程的時候,我忽略了以上不太想關心的package,一般情況,jdk相關的包,log日志相關的包,json包忽略掉就好了。
三:Spy Web
啟動Spy Web之前需要執行spy.sql,數據存儲路徑和數據庫的連接信息:
到此,需要配置的信息已經完成。接下來就可以運行Spy Demo和Spy Web了。啟動完成后,訪問:http://127.0.0.1:16688/
點擊sequence可以查看SpringBoot啟動的時候方法調用詳細信息(由於信息量大,這個頁面打開需要15min+):
上圖中,藍色方法名表示還可以繼續點擊查看其方法調用細節。
推薦一款項目管理工具:http://www.itproject-manager.com/
更多信息關注公眾號: