因为最近做项目迁移,迁移之后发现有些地方竟然变慢了!需要一个好的Profiler工具,定位最为耗时的地方。在翻淘宝中间件团队博客http://rdc.taobao.com/team/jm/ 的时候发现了TProfiler,于是试用了一下。
总体来说使用还算简单,文档虽然说不上面面俱到,但是仍然是能让人上手了。
比较重要的是配置文件,有几个注意点:
配置文件需要所有属性完整,不然会报"IllegalArgumentException source can't be null"。
profile.properties
有一个样例,在man/resources目录下。
eachProfUseTime = 5 #表示每次profiler的时间,一次profiler结束后,写入到tprofiler.log文件中 eachProfIntervalTime = 50 #profiler的间隔
TProfiler是一个线上profile工具,之所以profiler间隔很大,是为了不影响线上业务。建议在测试环境,将eachProfIntervalTime设置成1或者0,eachProfUseTime尽量调大,这样比较好看结果。
还有一个client,可以做flushmethod等操作。如果不主动flush,会等到时间周期结束后才写tmethod.log文件。
topmethod和topobject是比较有用的,使用以下命令生成:
<!-- 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
来源:oschina
链接:https://my.oschina.net/u/190591/blog/165385