1、TProfiler下载与安装

第一步先去Github https://github.com/taobao/TProfiler下载源文件,接着将下载好的TProfiler-master.zip解压并打开文件夹,将dist下的TProfiler_1.0.1.zip再解压,最后将TProfiler_1.0.1中的profile.properties、lib/tprofiler-1.0.1.jar 拷贝出来,我们只需要这两个文件即可。

第二步我们看下profile.properties中的每个参数的含义。

第三步,在我们设置好profile.properties相关属性后,将这两个文件拷贝到本地/usr/local/tprofiler/目录下,同时添加jvm启动参数:

        -javaagent:/usr/local/tprofiler-1.0.1.jar
        -Dprofile.properties=/usr/local/tprofiler/profile.properties 

然后启动相应的tomcat、weblogic等服务器,观察输出没有报错即可。

#基础的一些参数配置,一般使用默认即可
startProfTime = 9:00:00  开始profile的时间点
endProfTime = 23:00:00  结束profile的时间点
eachProfUseTime = 5  profile时间长度(单位秒)
eachProfIntervalTime = 50  两次profile的时间间隔(单位秒)
samplerIntervalTime = 20  两次采样的时间间隔(单位秒)
port = 30033  对外提供服务支持查询的端口号
debugMode = false  是否进入调试模式
needNanoTime = false  是否需要用纳秒记录时间
ignoreGetSetMethod = true  是否忽略采集get/set方法#下面三个日志的存放路径、名称可以自行设置
logFilePath = /usr/tprofiler/logs/logprofiler.log  (profile log的存放位置)
methodFilePath = /usr/tprofiler/logs/logmethod.log  (method log的存放位置)
samplerFilePath = /usr/tprofiler/logs/logsampler.log   (sampler log的存放位置)#需要、不需要profile的包路径
excludeClassLoader = org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader  不注入的类加载器(分号分割),使用默认即可
includePackageStartsWith = com.alibaba.fastjson;com.fasterxml.jackson.databind;org.quartz;org.springframework  (进行profile的类包名(分号分割),这里按需求,将项目中需要profile的包名入进来即可)
excludePackageStartsWith = com.taobao.sketch;org.apache.velocity;com.alibaba;com.taobao.forest.domain.dataobject 不进行profile的类包名(分号分割),使用默认即可

2、TProfiler远程操作

Java -cp /usr/local/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient [ip] [port] [command] 

这个命令是用于查看TProfiler的运行情况,ip:TProfiler的机器ip,port:上面配置文件中的port,command:start、stop、status、flushmethod。

其中flushmethod是将运行过程中采集的数据输出到指定目录下。例如输出到/usr/tprofiler/logs/下,如配置文件中的logprofiler.log、logmethod.log、logsampler.log。


3、TProfiler本地数据统计

普通方法、线程统计命令

java -cp /usr/local/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.SamplerLogAnalysis /usr/tprofiler/logs/logsampler.log /usr/tprofiler/logs/allmethod.log 

/usr/tprofiler/logs/allthread.log 这条命令里,logsampler.log的路径在配置文件中指定,后面两个日志文件是分析统计后的日志输出路径,一个是所有方法的调用情况,另一个是所有线程的运行状态,从类名也可看出,就是对生成的sampler日志进行统计分析。


4、top 统计

java -cp /usr/local/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.ProfilerLogAnalysis
#待分析的日志路径
/usr/tprofiler/logs/logprofiler.log /usr/tprofiler/logs/logmethod.log
#分析后输出日志
/usr/tprofiler/logs/topmethod.log /usr/tprofiler/logs/topobject.log

上面命令中的前两个参数是logprofiler.log、logmethod.log的路径,后面两个参数是分析后所得日志的输出路径。(其中:topmethod.log指调用次数最多的一些方法,topobject指调用次数最多的对象类)

调用该命令后,查看topmethod.log的结构如下:

Tables 执行次数 平均执行时间 全部执行时间
/lib/tpcache/mongodb/MongodbTemplate:getById:140 229 390 89364
/lib/tp/HttpClientTemplate:getForObject:92 255 39 9905
/api/module/CacheService:getVideoById:115 229 0 79
/api/module/comment/CommentService:getCommentList:130 226 0 74
/api/module/comment/dto/CommentListDto::93 2 3 6
/api/module/comment/CommentController:getCommentList:46 226 0 0
/lib/tpcache/cbase/MemcachedTemplate:getProtobuf:448 1 2 2
/lib/tp/comment/CommentTpDao:comment:67 255 0 1

参考:
http://blog.csdn.net/chen7253886/article/details/54091666
http://blog.csdn.net/defonds/article/details/52605670
http://blog.kinval.com/open/taobao-profiler.html

【入门篇】TProfiler工具使用相关推荐

  1. Java爬虫入门篇---Jsoup工具

    Java爬虫入门篇---Jsoup工具 前言 准备工作 获取文本数据 获取页面中所有的图片 前言 pythoy的scrapy框架是大名鼎鼎,Jsoup则为Java框架的爬虫 准备工作 1.下载jsou ...

  2. envi 文件 生成mat_JVM 内存分析工具 MAT 的深度讲解与实践——入门篇

    1. MAT 工具简介 MAT(全名:Memory Analyzer Tool),是一款快速便捷且功能强大丰富的 JVM 堆内存离线分析工具.其通过展现 JVM 异常时所记录的运行时堆转储快照(Hea ...

  3. AutoSAR系列讲解(入门篇)6.1-Vector的工具链简介

    AutoSAR系列讲解(入门篇)6.1-Vector的工具链简介 Vector的工具链简介 一.PREEvision 二.vVIRTUALtarget 三.DaVinci 四.CANoe 五.CANa ...

  4. 不用编程超简单的自动化测试工具:Airtest安装使用入门篇

    一.背景 很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别.也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选 ...

  5. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 粉丝破万了 新星计划申 ...

  6. Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次 ...

  7. SQL注入漏洞全接触--入门篇

    随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  8. 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇

    本节书摘来自华章出版社<Ansible权威指南 >一书中的第1章,第1.1节,李松涛 魏 巍 甘 捷 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 ...

  9. Python从入门到精通 - 入门篇 (下)

    上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...

  10. AI视觉组培训第二弹——入门篇

    ▌入门篇   由恩智浦赞助的AI视觉组,今年把人工智能应用在智能车竞赛中的难度由提高了一步.这里面最重要的部分就是,用人工智能的神经网络进行图片识别.   上一次培训,我们已经介绍了人工智能和神经网络 ...

最新文章

  1. 我的MYSQL学习心得(六) 函数
  2. webpack 优化笔记
  3. netbeans卸载 linux,NetBeans_6.1自己使用。(linux-ubuntu下)
  4. HINSTANCE和HANDLE的区别
  5. 【hive】——metastore的三种模式
  6. Ubuntu NFS搭建过程
  7. Android 5.1 - 状态栏充电标志问题
  8. 解决org.springframework.web.multipart.MaxUploadSizeExceededException报错问题
  9. python索引例子_Python实现带下标索引的遍历操作示例
  10. 在线CSS代码压缩美化工具
  11. nginx优化--突破十万并发
  12. tiny4412 串口驱动分析五 --- LDD3上TTY驱动程序源码
  13. java对象拷贝——PropertyUtils copyProperties 用法和性能
  14. Verilog——38译码器(包括仿真文件和约束文件的格式)
  15. windows下用linux系统,如何在Windows下使用Linux操作系统
  16. ZABBIX 3.0 使用详解
  17. 迷你考拉仓私人小仓库储物间出租,百米内的智能仓储!
  18. 启动TC的TAO窗口
  19. Swift不深入只浅出入门教程-孟祥月-专题视频课程
  20. 需要达到什么水平才能找到一份计算机实习?

热门文章

  1. r语言中怎样获得混淆矩阵
  2. linux qt 打印预览控件,Qt实现保存、浏览、预览、打印功能的示例代码
  3. 0005有意思的小题目
  4. 【2021年9月小峰子发给我的聊天】
  5. Thinkpad X1 Carbon 已插入未充电解决办法
  6. 【python数据分析实战】电商打折套路解析(1)—— 各个品牌都有多少商品参加了双十一活动?
  7. 安卓AS:简简单单就实现了一个qq登录界面
  8. PreferenceManager.getDefaultSharedPreferences(SettingsActivity.this);
  9. 卡尔曼滤波simulink模型_电池管理系统---Simulink源码/资料分享及Live 介绍
  10. vue中v-if和ref的冲突