1. java-tracerJava 源碼閱讀工具

        聯(lián)合創(chuàng)作 · 2023-10-02 02:48

        java-tracer 是一個(gè) Java 源碼閱讀工具,利用它可以把我們程序運(yùn)行過程棧錄制下來(lái),并實(shí)時(shí)繪制成時(shí)序圖,使用簡(jiǎn)單方便。

        工具效果

        java-tracer 主要提供[線程]方法調(diào)用棧時(shí)序圖錄制/展現(xiàn)功能,在程序運(yùn)行的時(shí)候,錄制調(diào)用棧,然后借助瀏覽器一層一層查看調(diào)用時(shí)序圖,結(jié)合原i碼,能更容易理解框架運(yùn)行原理。

        使用方法

        使用方法是以 javaagent 的方法帶入程序中,使用模式有兩種,第 1 種是函數(shù)模式,即錄制某個(gè)方法,第 2 種是線程模式,即錄制所有線程。

        函數(shù)模式

        啟動(dòng)的時(shí)候,增加 agent 參數(shù),例如:java -javaagent:xxx/tracer-agent/target/java-tracer.jar xxxMainClass

        啟動(dòng)的時(shí)候,console 會(huì)輸出: pages can be found in http://127.0.0.1:18902

        打開鏈接,可以設(shè)置需要錄制的方法的類名及方法名。

        設(shè)置完之后,當(dāng)方法被再次調(diào)用的時(shí)候,在主頁(yè)面下面的 result list 模塊就會(huì)有每次方法的錄制記錄,點(diǎn)擊鏈接即可看到如上 demo 那樣的時(shí)序圖了。

        線程模式

        線程模式跟函數(shù)模式一樣,只是需要增加一個(gè) agent 參數(shù) mode=1,例如:java -javaagent:xxx/tracer-agent/target/java-tracer.jar=mode=1 xxxMainClass

        同樣,程序啟動(dòng)之后,打開頁(yè)面 http://127.0.0.1:18902 即可看到線程運(yùn)行情況。

        可以點(diǎn)擊 result list 里面的 service 的鏈接,就可以查看到[線程]棧時(shí)序圖。

        在時(shí)序圖中,可能通過調(diào)節(jié)顯示棧深度,或者進(jìn)入方法里面查看棧調(diào)用情況。

        瀏覽 12
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
          
          

            1. 美女拍A片的www啪啪 | 亚洲成人无码电影 | 医生别停啊摁摁h别进来 | 欧美一级做a爰片久久高潮 | 豆花视频入口 |