美文网首页Java 杂谈
Java开源诊断工具 Arthas 发布v3.1.0

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

作者: 牛耳教育知变学院 | 来源:发表于2019-02-20 22:50 被阅读2次

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

    小编整理了一些java进阶学习资料和面试题,需要资料的请加JAVA高阶学习Q群:664389243 这是小编创建的java高阶学习交流群,加群一起交流学习深造。群里也有小编整理的2019年最新最全的java高阶学习资料!

    在线教程

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

    Arthas基础教程

    https://alibaba.github.io/arthas/arthas-tutorials?spm=a2c4e.11153940.blogcont690205.22.551d2a66jiGDTV&language=cn&id=arthas-basics

    Arthas进阶教程

    https://alibaba.github.io/arthas/arthas-tutorials?spm=a2c4e.11153940.blogcont690205.23.551d2a66bHB6xf&language=cn&id=arthas-advanced

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

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

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

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

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

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

    1.使用jad反编译代码

    2.使用vim编译代码

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

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

    4.使用redefine命令,因为可以热更新代码

    丝滑的自动补全

    在新版本里,改进了很多命令的自动补全,比如 watch/trace/tt/monitor/stack等。

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

    另外,新增加了 jad/sc/sm/redefine 等命令的自动补全支持,多按Tab有惊喜。

    新版本的Web console

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

    支持Ctrl + C复制

    支持全屏

    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有惊奇

    小编整理了一些java进阶学习资料和面试题,需要资料的请加JAVA高阶学习Q群:664389243 这是小编创建的java高阶学习交流群,加群一起交流学习深造。群里也有小编整理的2019年最新最全的java高阶学习资料!

    相关文章

      网友评论

        本文标题:Java开源诊断工具 Arthas 发布v3.1.0

        本文链接:https://www.haomeiwen.com/subject/pjzkyqtx.html