arthas-idea-plugin
arthas-idea-plugin copied to clipboard
使用arthas-idea-plugin,在IDEA内执行arthas命令,提高诊断效率
前提
本方案适用于使用 arthas-tunnel-server 的团队,如果是登录到机器中执行 arthas-boot
的场景并不能提效。
背景
在一些团队里,应用是通过 arthas-spring-boot-starter 连接到 tunnel-server 的,且一个应用可能会部署多个实例。
因为网关负载均衡的存在,请求会被均分到多个实例上,这就导致在使用 arthas 诊断问题的时候,可能会出现需要打开多个窗口来同时执行我们所需的监听命令,且需要完成 IDE <=> Browser
的切换,较为麻烦。
所以诞生了想法(灵感作者)将 tunnel-server 的能力集成到 IDEA 里的想法,因为已经有了 arthas-idea-plugin 插件,如果直接在现有基础上扩展新功能,比重新开发一个插件使用起来更为便捷,只需要在拷贝完命令之后,弹窗选择要监听的应用即可完成之前需要4~5步的流程。
优势
对比
场景 | 原有方案 | 现有方案 |
---|---|---|
监听单个实例 | 拷贝命令,打开浏览器选择应用和实例,执行命令 | 拷贝命令,直接监听 |
监听所有实例 | 拷贝命令,打开浏览器选择应用,多个实例打开多个窗口 | 拷贝命令,直接选择 all agents 监听所有实例 |
代码出现异常 | watch时代码异常,寻找业务包名所在堆栈,拷贝类和行号 | 高亮业务类,点击一键打开对应行号 |
细节
- 可以在IDEA内直接监听,避免打开浏览器。
- 可以同时监听多个应用,避免流量分发到多个实例时,开多个浏览器窗口等请求到来。
- 代码高亮,可以快速定位代码位置。
- 可以搜索,tunnel-server-web-ui 的黑框框使用
Ctrl+F
并不方便搜索,像是用jvm
、sc
等指令时,如果需要查找某个信息,需要一行行观察,在 IDEA 内,可以直接Ctrl+F
搜索任意输出的内容。
使用示例
点击可展开查看
详细教程和博客
其它
没有银弹,该扩展可能只会方便1%的用户,如若是为匹配到场景的用户提高了10%的效率,也是一件幸事。