淘宝的TProfiler使用日记

因为最近做项目迁移,迁移之后发现有些地方竟然变慢了!需要一个好的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

你可能感兴趣的:(jvm,profiler,tprofiler)