Arthas
Arthas 自2018年9月份上线以来「传送门」,已收获近万个star,感谢开发者们的认可。此次Arthas 3.1.0版本的发布,不仅带来大家投票出来的新LOGO,还带来强大的新功能和更好的易用性,下面一一介绍。

在线教程
在新版本Arthas里,增加了在线教程,用户可以在线运行Demo,一步步学习Arthas的各种用法,推荐新手尝试:

Arthas基础教程
Arthas进阶教程
非常欢迎大家来完善这些教程。

增加内存编译器支持,在线编辑热更新代码
3.1.0版本里新增命令mc,不是方块游戏mc,而是Memory Compiler。

在之前版本里,增加了redefine命令,可以热更新字节码。但是有个不方便的地方:需要把.class文件上传到服务器上。

在3.1.0版本里,结合jad/mc/redefine 可以完美实现热更新代码。

以 Arthas在线教程 里的UserController为例:

使用jad反编译代码

jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java
使用vim编译代码

当 user id 小于1时,也正常返回,不抛出异常:

@GetMapping("/user/{id}")
public User findUserById(@PathVariable Integer id) {logger.info("id: {}" , id);if (id != null && id < 1) {return new User(id, "name" + id);// throw new IllegalArgumentException("id < 1");} else {return new User(id, "name" + id);}
}

使用mc命令编译修改后的UserController.java

$ mc /tmp/UserController.java -d /tmp
Memory compiler output:
/tmp/com/example/demo/arthas/user/UserController.class
Affect(row-cnt:1) cost in 346 ms
使用redefine命令,因为可以热更新代码

$ redefine /tmp/com/example/demo/arthas/user/UserController.class
redefine success, size: 1
丝滑的自动补全
在新版本里,改进了很多命令的自动补全,比如 watch/trace/tt/monitor/stack等。

下面是watch命令的第一个Tab补全结果,用户可以很方便的一步步补全类名,函数名:

$ watch
com. sun. javax. ch. io. demo. jdk. org. java.
另外,新增加了 jad/sc/sm/redefine 等命令的自动补全支持,多按Tab有惊喜。

新版本的Web console
新版本的Web Console切换到了xtermd.js,更好地支持现代浏览器。

支持Ctrl + C复制
支持全屏
web console

Docker镜像支持
Arthas支持Docker镜像了

用户可以很方便地诊断Docker/k8s里的Java进程
也可以很方便地把Arthas加到自己的基础镜像里
参考: https://alibaba.github.io/art...

重定向重新设计
之前的版本里,Arthas的重定向是会放到一个~/logs/arthas-cache/目录里,违反直觉。

在新版本里,重定向和Linux下面的一致,>/>>的行为也和Linux下一致。

并且,增加了 cat/pwd命令,可以配置使用。

总结
总之,3.1.0版本的Arthas带了非常多的新功能,改进了很多的用户体验,欢迎大家使用反馈。

Arthas在线教程可以学到很多技巧
jad/mc/redefine 一条龙非常强大
丝滑的自动补全值得尝试
新版本的Web console有惊奇
Release Note: https://github.com/alibaba/ar...

本文作者:
断岭,社区ID hengyunabc,阿里巴巴技术专家,目前主要负责 Arthas 开源项目的开发和社区维护。

Java开源诊断工具 Arthas 发布v3.1.0相关推荐

  1. arthas 查看哪个方法调用最耗时_Java开源诊断工具Arthas使用方法详解

    一.前言 1.热更新代码的场景 (1)当线上服务器出现问题时,有些时候现有的手段不足以发现问题所在,可能需要追加打印日志或者增加一些调试代码,如果我们去改代码重新部署,会破坏问题现场,可以通过热部署的 ...

  2. 阿里巴巴 Java性能诊断工具Arthas

    Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参.异常,监测方法执行耗时 ...

  3. 阿里开源的Java诊断工具——Arthas

    文章目录 1 问题背景 2 前言 3 Arthas有什么作用 4 入门小实践 5 SpringBoot应用.Arthas.Arthas Tunnel Server之间的关系 1 问题背景 线上生产环境 ...

  4. Java诊断工具-Arthas入门与实践

    Java诊断工具-Arthas入门与实践 目录 Java诊断工具-Arthas入门与实践 什么是Arthas? Arthas能做什么? 我在哪里可以下载Arthas? 快速入门 1. 下载并运行mat ...

  5. 阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用

    阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用 一.arthas 上篇文章我们借助arthas监测线上系统的运行信息.排查程序运行缓慢问题,尽管这样已经非常好了,但是还是会 ...

  6. Java-JVM诊断工具Arthas

    Java-JVM诊断工具Arthas https://arthas.aliyun.com/doc/ 官网 介绍 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似 ...

  7. java应用诊断工具-Cubic v1.3.0

    简介: Cubic是一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力.Cubic的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志.内 ...

  8. Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)

    Java应用诊断工具]「BTrace」基本概念和原理的介绍(1) 系列文章 「BTrace」基本概念和初步介绍(1) 「BTrace」安装介绍和使用原理(2)- 未完成 「BTrace」实战代码进行调 ...

  9. 程序员必知的8个Java开源IDE工具!你最钟意哪个?

    出色的Java工具有助于提高工作效率.Java IDE 工具提供了多种用户独特需求和个人偏好来创建编程环境的方法. 今天,播妞给大家分享8个程序员最爱的Java开源IDE工具,没有用过的小伙伴,快快收 ...

最新文章

  1. 职场宝典:63种能力让你职场步步高升
  2. Pycharm安装PyQT5调用QTDesigner
  3. PHP常用正则:手机 邮箱 网址
  4. Flash务实主义(五)——AS3的垃圾回收(转)
  5. js 控制 获取 dropdownlist的值
  6. 【Elasticsearch】Elasticsearch 查询过程中的 pre-filter 原理
  7. c语言回调函数构架程序,c语言函数回调函数回调
  8. 转换一个字符串的编码消除乱码
  9. 2019 序列号_苹果序列号知识扫盲:iPhone序列号含义与查询真伪全攻略
  10. VMWare共享文件夹的使用
  11. WordPress使用腾讯云CDN配置如何实现https访问?
  12. androd欢迎页播放视频和广告页面
  13. php insertrow,table insertRow、deleteRow定义和用法总结_javascript技巧
  14. 使用math.sin时报错only size-1 arrays can be converted to Python scalar
  15. 人工智能轨道交通行业周刊-第43期(2023.4.24-5.7)
  16. 涤纶电容的作用原理及优点缺点
  17. 苹果收购增强现实初创公司Metaio
  18. VS2017设置DLL和LIB的输出目录
  19. 谁不想拥有自己的博客网站?
  20. 这破烂乡镇,竟是工业百强镇,中国锁具之都

热门文章

  1. [Java 并发编程实战] 设计线程安全的类的三个方式(含代码)
  2. codeforces VK Cup 2018 - Wild-card Round 1 (unofficial unrated mirror)
  3. VS2013找不到winres.h的解决办法
  4. PHP笔记 ---关于web应用的安全性问题
  5. 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
  6. Android自动测试之MonkeyRunner之monkeyrunner
  7. corosync/openais+pacemaker+drbd+web实现高可用群集
  8. STATISTICS TIME ON
  9. vlc学习计划(5)--VLC程序宏及线程分析
  10. 告别ASP.NET操作EXCEL的烦恼