Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用arthas-idea-plugin,在IDEA内执行arthas命令,提高诊断效率 #154

Open
imyzt opened this issue Sep 25, 2024 · 2 comments
Open
Labels
enhancement New feature or request

Comments

@imyzt
Copy link
Collaborator

imyzt commented Sep 25, 2024

前提

本方案适用于使用 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时代码异常,寻找业务包名所在堆栈,拷贝类和行号 高亮业务类,点击一键打开对应行号

细节

  1. 可以在IDEA内直接监听,避免打开浏览器。
  2. 可以同时监听多个应用,避免流量分发到多个实例时,开多个浏览器窗口等请求到来。
  3. 代码高亮,可以快速定位代码位置。
  4. 可以搜索,tunnel-server-web-ui 的黑框框使用 Ctrl+F 并不方便搜索,像是用 jvmsc 等指令时,如果需要查找某个信息,需要一行行观察,在 IDEA 内,可以直接 Ctrl+F 搜索任意输出的内容。

使用示例

点击可展开查看

output9
image

详细教程和博客

在IDEA中管理和监听arthas应用

其它

没有银弹,该扩展可能只会方便1%的用户,如若是为匹配到场景的用户提高了10%的效率,也是一件幸事。

@imyzt imyzt added the enhancement New feature or request label Sep 25, 2024
@WangJi92
Copy link
Owner

#92

@WangJi92
Copy link
Owner

WangJi92 commented Sep 25, 2024

最新 2.48 版本 下载地址 https://plugins.jetbrains.com/plugin/download?rel=true&updateId=608427
idea 2022.2.5 以上版本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants