阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点
Arthas
是Alibaba开源的Java诊断工具,深受开发者喜爱。
Github:https://github.com/alibaba/arthas
文档:https://alibaba.github.io/arthas
Arthas 3.1.5版本带来下面全新的特性:
开箱即用的Profiler/火焰图功能
grep命令支持更丰富的选项
monitor/tt/trace等命令提供更精确的时间统计
telnet/http协议共用3658端口
Profiler/Frame Graph/火焰图
火焰图的威名相信大家都有所耳闻,但可能因为使用比较复杂,所以望而止步。
在新版本的Arthas里集成了async-profiler,使用profiler
命令就可以很方便地生成火焰图,并且可以在浏览器里直接查看。
profiler命令wiki: https://alibaba.github.io/arthas/profiler.html
profiler
命令基本运行结构是:
profiler action [actionArg]
下面介绍如何使用。
启动profiler
$ profiler startStarted [cpu] profiling
默认情况下,生成的是cpu的火焰图,即event为
cpu
。可以用--event
参数来指定。
获取已采集的sample的数量
$ profiler getSamples23
查看profiler状态
$ profiler status[cpu] profiling is running for 4 seconds
可以查看当前profiler在采样哪种event
和采样时间。
生成svg格式结果
$ profiler stopprofiler output file: /tmp/demo/arthas-output/20191125-135546.svgOK
默认情况下,生成的结果保存到应用的工作目录
下的arthas-output
目录里。
通过浏览器查看arthas-output下面的profiler结果
默认情况下,arthas使用3658端口,则可以打开:http://localhost:3658/arthas-output/ 查看到arthas-output
目录下面的profiler结果:
点击可以查看具体的结果:
如果是chrome浏览器,可能需要多次刷新。
grep命令支持更丰富的选项
标准的linux grep命令支持丰富的选项,可以很方便地定位结果的上下文等。
新版本的grep
命令支持更多标准的选项,下面是一些例子:
sysprop | grep javasysprop | grep java -nsysenv | grep -v JAVAsysenv | grep -e "(?i)(JAVA|sun)" -m 3 -C 2sysenv | grep JAVA -A2 -B3thread | grep -m 10 -e "TIMED_WAITING|WAITING"
感谢社区里 @qxo 的贡献。
telnet/http协议共用3658端口
默认情况下,Arthas的Telnet端口是3658,HTTP端口是8563,这个常常让用户迷惑。在新版本里,在3658端口同时支持Telnet/HTTP协议。
在浏览器里访问 http://localhost:3658/ 也可以访问到Web Console了。
在后续的版本里,考虑默认只侦听 3658端口,减少用户的配置项。
monitor/tt/trace等命令提供更精确的时间统计
以前Arthas被诟病比较多的一个问题是,monitor/tt/trace等命令时间统计误差大。因为以前只使用了一个int来保存时间,所以不精确。
在新版本里,改用一个高效的stack来保存数据,时间的准确度大大提升,欢迎大家反馈效果。
感谢社区里 @huangjIT 的贡献。
总结
总之,3.1.5
版本的Arthas引入了开箱即用的Profiler/火焰图功能,欢迎大家使用反馈。
Release Note: https://github.com/alibaba/arthas/releases/tag/arthas-all-3.1.5
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️
阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点相关推荐
- ali arthas 火焰图_阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点
转自: 横云断岭的专栏 Arthas Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱. Github:https://github.com/alibaba/arthas 文档:ht ...
- java 性能调优,使用 async-profiler + FlameGraph火焰图 分析cup消耗热点代码
参考文章 https://www.jianshu.com/p/9364028cca4e 目的:通过分析工具找到项目中占用cpu时间最长的代码片段,优化热点代码,达到优化内存的效果. 1.准备工具,从g ...
- 程序员精进之路:性能调优利器--火焰图
作者:厉辉,腾讯 CSIG 后台开发工程师 本文主要分享火焰图使用技巧,介绍 systemtap 的原理机制,如何使用火焰图快速定位性能问题原因,同时加深对 systemtap 的理解. 让我们回想一 ...
- 参数调优为什么要采样_程序员精进之路:性能调优利器--火焰图
本文主要分享火焰图使用技巧,介绍 systemtap 的原理机制,如何使用火焰图快速定位性能问题原因,同时加深对 systemtap 的理解. 让我们回想一下,曾经作为编程新手的我们是如何调优程序的? ...
- 编程新手该如何调优程序?程序员必备性能调优利器——火焰图
本文主要分享火焰图使用技巧,介绍 systemtap 的原理机制,如何使用火焰图快速定位性能问题原因,同时加深对 systemtap 的理解. 让我们回想一下,曾经作为编程新手的我们是如何调优程序的? ...
- 性能优化必备——火焰图
引言 本文主要介绍火焰图及使用技巧,学习如何使用火焰图快速定位软件的性能卡点. 结合最佳实践实战案例,帮助读者加深刻的理解火焰图构造及原理,理解 CPU 耗时,定位性能瓶颈. 背景 当前现状 假设没有 ...
- 动态追踪技术(中) - Dtrace、SystemTap、火焰图
http://openresty.org/cn/presentations.html http://weibo.com/agentzh?is_all=1 http://openresty.org/po ...
- 超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
如果你经常遇到 Java 线上性能问题束手无策,看着线上服务 CPU 飙升一筹莫展,发现内存不断泄露满脸茫然.别慌,这里有一款低开销.自带火焰图.让你大呼好用的 Java 性能分析工具 - async ...
- CentOS 7 Linux实时内核下的epoll性能分析后续 | 火焰图分析
在<CentOS 7 Linux实时内核下的epoll性能分析>从源码角度分析了epoll在实时内核和非实时内核之间的差异,为了更好的展示问题所在,这里给出epoll和select在实时内 ...
最新文章
- JAVA静态方法是否可以被继承 6,JAVA静态方法是否可以被继承?
- java多线程面试_Java多线程和并发基础面试问答,看过后你不会后悔
- mnist数据集svm python_python支持向量机分类MNIST数据集
- RHEL6入门系列之二十六,利用rpm进行软件包管理
- 亚马逊无人商店因拒收现金被美国多地禁止:被认定歧视消费者
- 使用Maven构建Web项目-测试
- 投资人教你怎么写能拿到钱的商业计划书
- linux超级终端配置交换机路由器
- 百度html的json解析,百度调用API返回json数据解析
- 无法连接到SQL SERVER数据库
- win10共享打印机搜索不到计算机,大师告诉您Win10搜不到共享打印机的操作方案...
- Latex中如何插入参考文献的两种方法
- windows下的diskpart指令修复U盘分区
- linux 搜狗输入法使用技巧,在Deepin 20系统中使用官方搜狗输入法的技巧
- 可汗学院-统计学-学习笔记
- Mac微信小助手(免认证登录、多开、防撤回)---强烈推荐
- 牛客竞赛C/C++语言基础22198 选村长
- 户外直播、移动直播遇到弱网信号差,如何保证流畅又高清画面传输?
- 笔记本简单使用eNSP的云连接外网
- CSS设置文字自动换行
热门文章
- Acticity 启动 AMS
- 查看python所有内置方法_python 内置方法
- qtreewidgetitem 文字内存太长换行_table文字溢出显示省略号问题
- python写文件格式转换程序_python实现txt文件格式转换为arff格式
- 使用流进行通讯的一种可能犯的错误 (InputStream + OutputStream)
- LeetCode:2. 两数相加(中等)
- 高效的半同步/半异步模式的实现
- 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
- Python2、3字典比较函数
- httrack 拷贝网站到本地(好东西,但是发现考的不全)