TProfiler

简介: 下载:访问 TProfiler 的 GitHub 主页,https://github.com/alibaba/TProfiler,点击 Clone or download 按钮的打开下载选项,点击该选项下的 Download ZIP 按钮将 TProfiler-master.zip 下载到本地。

下载访问 TProfiler 的 GitHub 主页,https://github.com/alibaba/TProfiler,点击 Clone or download 按钮的打开下载选项,点击该选项下的 Download ZIP 按钮将 TProfiler-master.zip 下载到本地。

安装:本地将下载后的 TProfiler-master.zip 解压缩,将 dist 目录下的 profile.properties 以及 dist/lib 目录下的 tprofiler-1.0.1.jar ftp 上传到远程服务器 /opt/tprofiler 目录下。

配置:编辑服务器 /opt/tprofiler/profile.properties 文件内容

#log file name
logFileName = tprofiler.log
methodFileName = tmethod.log
samplerFileName = tsampler.log

#basic configuration items
startProfTime = 9:00:00
endProfTime = 23:00:00
eachProfUseTime = 5
eachProfIntervalTime = 50
samplerIntervalTime = 20
port = 30000
debugMode = false
needNanoTime = false
ignoreGetSetMethod = true

#file paths
logFilePath = ${user.home}/logs/${logFileName}
methodFilePath = ${user.home}/logs/${methodFileName}
samplerFilePath = ${user.home}/logs/${samplerFileName}

#include & excludes items
excludeClassLoader = org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
includePackageStartsWith =com.caucho;com.defonds;com.fasterxml;com.sun.jersey;com.sun.jmx;
org.apache;org.codehaus;org.jdbcdslog;org.mybatis;org.quartz;org.springframework
excludePackageStartsWith = com.taobao.sketch;org.apache.velocity;com.alibaba;com.taobao.forest.domain.dataobject

红色部分是我们修改后的内容,其它部分使用默认值。

启动:-javaagent:/opt/tprofiler/tprofiler-1.0.1.jar -Dprofile.properties=/opt/tprofiler/profile.properties

指令操作

查看 TProfiler 当前状态:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 status

running

关闭 TProfiler:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 stop
$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 status
stop

开启 TProfiler:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 start
$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 status
running

刷出数据:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 flushmethod

会将数据刷出到 ~/logs/ 目录下:TProfiler的日志.png

普通方法、线程统计:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.SamplerLogAnalysis ~/logs/tsampler.log ~/logs/method.log ~/logs/thread.log

top 统计:

$ java -cp /opt/tprofiler/tprofiler-1.0.1.jar com.taobao.profile.analysis.ProfilerLogAnalysis ~/logs/tprofiler.log ~/logs/tmethod.log ~/logs/topmethod.log ~/logs/topobject.log

上述命令刷出的 topmethod.log 部分结果如下:

com/defonds/core/ppts/common/support/JsonUtils:object2jsonString:123 13519 154 2083584
com/caucho/hessian/client/HessianURLConnection:sendRequest:156 15894 130 2072565
com/defonds/rest/core/client/proxy/ResourceJsonInvocationHandler:invoke:39 8123 113 921340
com/defonds/core/ppts/cache/service/impl/MerBankCfgServiceImpl:selectMerBankCfgByParams:72 54213 15 799322
com/defonds/core/ppts/incomes/biz/sinopay/service/impl/SinoPayBankReturnServiceImpl4Json:updateOrderSuccess:792 2495 176 438542

格式说明:方法信息 执行次数 平均执行时间(单位:ms) 全部执行时间(单位:ms)

 

目录
相关文章
|
并行计算 API Docker
ModelScope问题之环境不好配置如何解决
ModelScope镜像是指用于在ModelScope平台上创建和管理的容器镜像,这些镜像包含用于模型训练和推理的环境和依赖;本合集将说明如何使用ModelScope镜像以及管理镜像的技巧和注意事项。
476 0
|
移动开发 编解码 Java
Netty编码器和解码器
Netty从底层Java通道读到ByteBuf二进制数据,传入Netty通道的流水线,随后开始入站处理。在入站处理过程中,需要将ByteBuf二进制类型解码成Java POJO对象。这个解码过程可以通过Netty的Decoder解码器去完成。在出站处理过程中,业务处理后的结果需要从某个Java POJO对象编码为最终的ByteBuf二进制数据,然后通过底层 Java通道发送到对端。在编码过程中,需要用到Netty的Encoder编码器去完成数据的编码工作。
|
运维 监控 数据可视化
WGCLOUD主机管理系统 v3.5.7 更新功能说明
WGCLOUD 是一款开源免费的分布式运维监控平台,具备集群监控、易部署、轻量高效等特性。核心功能涵盖主机系统、CPU、内存、网络、磁盘、Docker、日志等全方位监控,并提供数据可视化、拓扑图、告警推送(邮件、钉钉、微信)等功能。最新版 v3.5.7 增强了 Docker 容器监控、自定义告警、背景主题设置及多项优化和修复。 下载链接:[WGCLOUD](http://www.wgstart.com) GitHub 仓库:[https://github.com/tianshiyeben/wgcloud](https://github.com/tianshiyeben/wgcloud)
|
JavaScript 前端开发 数据建模
探索未来编程新范式:响应式编程的崛起与实践
本文将深入探讨响应式编程的核心概念、技术优势及其在现代软件开发中的应用。通过实例解析,揭示这一新兴编程范式如何简化异步数据处理,提高代码的可维护性和效率,为读者提供从传统命令式编程向声明式编程转型的新视角。 ####
|
vr&ar Android开发 数据安全/隐私保护
Android与iOS的演变:一场永无止境的技术较量
【10月更文挑战第27天】 在智能手机操作系统的领域里,Android和iOS一直是两个不可忽视的巨头。它们不仅推动了移动设备技术的快速发展,也引领了用户界面设计和应用程序生态的潮流。本文将探讨这两个系统从诞生到现在的发展轨迹,以及它们之间的竞争如何塑造了今天的移动科技世界。
399 1
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
585 1
|
搜索推荐 Java Go
深入了解快速排序算法
深入了解快速排序算法
481 2
|
数据库 微服务
GTS事务执行过程
【8月更文挑战第25天】
445 4
|
安全 网络安全 网络虚拟化
Cisco-三层交换机实现VLAN间路由
Cisco-三层交换机实现VLAN间路由
511 0
|
资源调度 分布式计算 Hadoop
YARN如何实现资源管理?
【6月更文挑战第19天】YARN如何实现资源管理?
444 13