日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2024/4/13 java 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java开源诊断工具 Arthas 发布v3.1.0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。