淘寶的TProfiler使用日記

由於最近作項目遷移,遷移以後發現有些地方居然變慢了!須要一個好的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
相關文章
相關標籤/搜索