淘宝的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
相关文章
相关标签/搜索