一、Arthas Star突破2万啦
随着微服务的流行,应用更加轻量和开发效率不断提升,但是带来的困境是线上问题排查越来越复杂困难。传统的Java排查问题,需要重启应用再进行调试,但是重启应用之后现场会丢失,问题难以复现。
因此自2018年9月,阿里巴巴开源了久经考验,深受开发者喜爱的应用诊断利器Arthas。在阿里巴巴内部Arthas每年诊断数百万次,服务10000+应用,年节约9000人日。
Arthas通过创新的字节码织入技术,可以在应用无需重启时,查看调用上下文,高效排查问题;结合火焰图,可以直接定位热点,发现性能瓶颈;通过redefine技术,实现在线热更新代码;同时支持黑屏化和白屏化诊断,可以连接诊断大规模的集群。
在2019年2月时,我们做了Arthas Star破万里的回顾:新的开始 | Arthas GitHub Star 破万后的回顾和展望
时间飞逝,转眼间一年过去了,Arthas的Star数突破2万了~
下面来回顾Arthas去年的一些工作。
二、Arthas 过去一年的工作
在过去的一年里,Arthas
发布了8个release版本,做了大量的改进,下面列出一些重点:
- 增加 mbean/heapdump/vmoption/logger/stop/perfcounter/echo/tee 等命令
- 支持火焰图 async-profiler,快速定位性能瓶颈
- 支持 tunnel-server,轻松实现大规模管控
- 支持加载外部配置 arthas.properties
- JDK13全面支持
- 支持在应用启动时以java agent的方式使用
火焰图
在arthas里,通过简单的profiler start
和profiler stop
命令就可以启动生成火焰图,并且可以在浏览器里直接查看。
Arthas IDEA插件
开源社区里的 汪吉小哥哥 编写了Arthas IDEA插件,提供了很多常用的功能支持,非常好用。
Cloud toolkit插件
Cloud Toolkit 是阿里巴巴开发的免费本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、SAE、ACK、ACR 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具。
通过Cloud Toolkit插件使用Arthas一键诊断远程服务器
三、感谢贡献者们
在过去的一年里,Arthas
获得2019开源中国最受欢迎软件奖,同时在开源贡献者人数从40增长到85,非常感谢他们的工作:
参与贡献: https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md
四、Arthas有奖征文活动
https://mp.weixin.qq.com/s/TPiD5E5xetOSYjgyw8TTQw
- Arthas实践--jad/mc/redefine线上热更新一条龙
- Alibaba Arthas实践--获取到Spring Context,然后为所欲为
- Arthas实践--快速排查Spring Boot应用404/401问题
- 当Dubbo遇上Arthas:排查问题的实践
- 使用Arthas抽丝剥茧排查线上应用日志打满问题
- 深入Spring Boot:利用Arthas排查NoSuchMethodError
五、Arthas 规划
- RESTful API支持
- 插件化支持
- 全新的字节码框架ByteKit
这三个特性社区小伙伴们提了很多次,已在实质性开发中了。同时希望大家可以提出建议和参与 :)
作者信息:陈志轩(断岭). 阿里巴巴中间件技术专家. 负责阿里巴巴开源应用诊断利器Arthas,内部应用容器开发,Spring Boot的微服务框架的落地。关注开发体验,微服务,APM,应用诊断技术。