代碼剖析工具Java Interactive Profiler (JIP)

JIP是一個100%純java語言編寫的一個代碼剖析工具。它的特點(diǎn)包括:
1.交互性,允許你在JVM運(yùn)行過程中隨時啟動或結(jié)束剖析器而hprof是在程序啟動時就開啟JVM退出時結(jié)束。
2.沒有本地代碼,大部分剖析器都有一些本地組件(native component)因?yàn)檫@些剖析器使用了需要利用本地組件的JVMPI (Java Virtual Machine Profiling Interface),而JIP是純Java的,它利用了Java5的一些特性。JIP對需要剖析的每一個類的每一個方法添加aspect攔截,這些aspect能夠捕獲執(zhí)行數(shù)據(jù)。
3.非常低的開銷,在很多情況下hprof將會造成一個程序運(yùn)行變慢20倍,而JIP是輕量級的幾乎沒有任何開銷。
4.JIP能夠通過package/class名設(shè)置過濾器

************重要配置************

  1. 部署監(jiān)控
    catalina.sh 文件
    JAVA_OPTS="$JAVA_OPTS -javaagent:/jip-src-1.2/profile/profile.jar -Dprofile.properties=/jip-src-1.2/profile/profile.properties "

              JAVA_OPTS="$JAVA_OPTS -XX:-UseSplitVerifier  -javaagent:/jip-src-1.2/profile/profile.jar  -Dprofile.properties=/jip-src-1.2/profile/profile.properties " 
    
    
                ./file.sh localhost 15519  /jip-src-1.2/client/test-profile2.txt 
               ./start.sh localhost 15519  
              ./finish.sh localhost 15519 
    

默認(rèn)端口:15599 <profile.properties>

<profile.properties>
調(diào)用層次的深度 : thread-depth=-1(-1 means no limit)
層次圖中輸出方法的個數(shù):
max-method-count=compact(method.compact.threshold.ms=10)
排除列表: exclude=com.mentorgen.tools.profile
ClassLoaderFilter.x
ClassLoaderFilter.1=com.mentorgen.tools.profile.instrument.clfilter.WebAppClassLoaderFilter
ClassLoaderFilter.2=com.mentorgen.tools.profile.instrument.clfilter.StandardClassLoaderFilter<默認(rèn)>

************報(bào)告展示************

調(diào)用次數(shù)|總時間|凈耗時|總的百分比|凈百分比

報(bào)告展示1

匯總信息,按調(diào)用方法耗時多少倒序排列

報(bào)告展示2

************優(yōu)點(diǎn)************
a.開源
b.輕量級
c.交互式
d.100%純java
e.從監(jiān)控中過濾掉不關(guān)心的類或者包
f.可集成
************缺點(diǎn)************
a.后續(xù)版本無更新
b.資料相對比較少

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容