升级 | Java 开源诊断工具 Arthas 发布 v3.1.0

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Arthas 自2018年9月份上线以来,已收获近万个star,感谢开发者们的认可。此次Arthas 3.1.0版本的发布,不仅带来大家投票出来的新LOGO,还带来强大的新功能和更好的易用性,下面一一介绍。在新版本Arthas里,增加了在线教程,用户可以在线运行Demo,一步步学习Arthas的各种用法,推荐新手尝试:

升级 | Java 开源诊断工具 Arthas 发布 v3.1.0

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

在线教程

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

非常欢迎大家来完善这些教程。

增加内存编绎器支持,在线编辑热更新代码

3.1.0 版本里新增命令 mc ,不是方块游戏mc,而是Memory Compiler。

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

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

Arthas在线教程 里的 UserController 为例:

1、使用jad反编绎代码

jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java

2、使用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);
        }
    }

3、使用 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

4、使用 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 复制

  • 支持全屏

升级 | Java 开源诊断工具 Arthas 发布 v3.1.0

Docker镜像支持

Arthas支持 Docker 镜像了

  • 用户可以很方便地诊断Docker/k8s里的 Java 进程

  • 也可以很方便地把Arthas加到自己的基础镜像里

参考: https://alibaba.github.io/arthas/docker.html

重定向重新设计

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

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

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

总结

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

  • Arthas在线教程可以学到很多技巧

  • jad/mc/redefine 一条龙非常强大

  • 丝滑的自动补全值得尝试

  • 新版本的Web console有惊奇

Release Note: https://github.com/alibaba/arthas/releases/tag/3.1.0


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

移动Web手册

移动Web手册

Peter-Paul Koch(彼得-保罗 科赫) / 奇舞团 / 电子工业出版社 / 2015-4 / 65.00元

《移动Web手册(双色)》主要讲解了移动Web开发和传统PC网站开发的不同之处。作者首先对移动互联网相关的运营商、设备、操作系统和软件进行了简单的介绍,让读者理解移动开发的复杂之处。接下来对移动设备上的各种浏览器进行了详细介绍,以及这些浏览器的市场占有率、特性支持等。《移动Web手册(双色)》为那些想进入移动Web开发领域的人提供了一些指导性的建议并对移动Web开发的未来进行了展望。 《移动......一起来看看 《移动Web手册》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具