本文只作很簡要介紹,可視作備忘參考。
TPTP是eclipse官方的profiling插件,初步使用下感覺功能強大。
下載安裝: 在http://www.eclipse.org/tptp/下載,我選擇All-Runtime,然后像其它插件一樣解壓到eclipse的目錄,然后允許eclipse -clean來刷新一把。
使用:
常用的profiling簡單來講就對程序運行進行記錄,然后從數據中分析哪些方法運行時間長,哪些對象吃內存多,哪些類的實例多等等。一個比較好的使用入門sample在這里: http://www.eclipse.org/tptp/home/documents/tutorials/profilingtool/profilingexample_32.html 我就不羅嗦了。
值得多講的是Remote Profiling,就是遠程剖析。實現的原理是在遠程機器上運行一個代理進程,要被遠程剖析的程序或者Application Server啟動的時候加一個JVM參數來識別這個代理進程,兩者相互作用,代理就可以把收集到的信息發給在遠程的一方(就是運行著eclipse的一方)。
因此要實現Remote Profiling,還要在目標機器上裝一個agent。 -->
下載安裝:http://www.eclipse.org/tptp/home/downloads/drops/TPTP-4.0.1.html 選擇對應操作系統的Agent Controller下載,選擇Runtime即可。
下載后,閱讀依照getting_started.html的說明來安裝即可,這里簡述一下:
1、 把它的bin目錄放到PATH里面
2、 運行一下SetConfig來設置參數,注意如果想讓除本地localhost意外所以機器都訪問的話,要注意設置Network Access Mode,默認是localhost的。
3、 運行RAStart來啟動代理(Linux下)
4、 服務器端程序(例如tomcat)啟動的JVM參數里面加入-XrunpiAgent:server=enabled即可(還有其它參數值參見文檔)
5、 然后就可以在遠程用eclipse來啟動一個Profiling進程來attach到這個agent controller了。效果和在eclipse里面直接profile應用程序一樣。