由於最近作項目遷移,遷移以後發現有些地方居然變慢了!須要一個好的Profiler工具,定位最爲耗時的地方。在翻淘寶中間件團隊博客http://rdc.taobao.com/team/jm/ 的時候發現了TProfiler,因而試用了一下。shell
整體來講使用還算簡單,文檔雖說不上面面俱到,可是仍然是能讓人上手了。工具
比較重要的是配置文件,有幾個注意點:測試
配置文件須要全部屬性完整,否則會報"IllegalArgumentException source can't be null"。code
profile.properties
有一個樣例,在man/resources目錄下。中間件
eachProfUseTime = 5 #表示每次profiler的時間,一次profiler結束後,寫入到tprofiler.log文件中 eachProfIntervalTime = 50 #profiler的間隔文檔
TProfiler是一個線上profile工具,之因此profiler間隔很大,是爲了避免影響線上業務。建議在測試環境,將eachProfIntervalTime設置成1或者0,eachProfUseTime儘可能調大,這樣比較好看結果。get
還有一個client,能夠作flushmethod等操做。若是不主動flush,會等到時間週期結束後才寫tmethod.log文件。博客
topmethod和topobject是比較有用的,使用如下命令生成:io
<!-- lang: shell --> ./tprofiler-log-analysis /data/tprofiler/logs/tprofiler.log /data/tprofiler/logs/tmethod.log /data/tprofiler/logs/topmethod.log /data/tprofiler/logs/topobject.log