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

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

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

  1. 部署監控
    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 
    

默認端口:15599 <profile.properties>

<profile.properties>
調用層次的深度 : thread-depth=-1(-1 means no limit)
層次圖中輸出方法的個數:
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<默認>

************報告展示************

調用次數|總時間|淨耗時|總的百分比|淨百分比

報告展示1

彙總信息,按調用方法耗時多少倒序排列

報告展示2

************優點************
a.開源
b.輕量級
c.交互式
d.100%純java
e.從監控中過濾掉不關心的類或者包
f.可集成
************缺點************
a.後續版本無更新
b.資料相對比較少

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章