天天看點

TProfiler

下載下傳:通路 TProfiler 的 GitHub 首頁,https://github.com/alibaba/TProfiler,點選 Clone or download 按鈕的打開下載下傳選項,點選該選項下的 Download ZIP 按鈕将 TProfiler-master.zip 下載下傳到本地。

安裝:本地将下載下傳後的 TProfiler-master.zip 解壓縮,将 dist 目錄下的 profile.properties 以及 dist/lib 目錄下的 tprofiler-1.0.1.jar ftp 上傳到遠端伺服器 /opt/tprofiler 目錄下。

配置:編輯伺服器 /opt/tprofiler/profile.properties 檔案内容

紅色部分是我們修改後的内容,其它部分使用預設值。

啟動:-javaagent:/opt/tprofiler/tprofiler-1.0.1.jar -Dprofile.properties=/opt/tprofiler/profile.properties

指令操作:

檢視 TProfiler 目前狀态:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 status

running

關閉 TProfiler:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 stop

stop

開啟 TProfiler:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 start

刷出資料:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 flushmethod

會将資料刷出到 ~/logs/ 目錄下:TProfiler的日志.png

普通方法、線程統計:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.SamplerLogAnalysis ~/logs/tsampler.log ~/logs/method.log ~/logs/thread.log

top 統計:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.ProfilerLogAnalysis ~/logs/tprofiler.log ~/logs/tmethod.log ~/logs/topmethod.log ~/logs/topobject.log

上述指令刷出的 topmethod.log 部分結果如下: