短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~( 三 )

  • mbean - 查看 Mbean 的信息
  • memory - 查看 JVM 的内存信息
  • ognl - 执行 ognl 表达式
  • perfcounter - 查看当前 JVM 的 Perf Counter 信息
  • sysenv - 查看 JVM 的环境变量
  • sysprop - 查看和修改 JVM 的系统属性
  • thread - 查看当前 JVM 的线程堆栈信息
  • vmoption - 查看和修改 JVM 里诊断相关的 option
  • vmtool - 从 jvm 里查询对象 , 执行 forceGc
  • 以下是部分命令的使用截图:



    2. 生成火焰图profiler 命令支持生成应用热点的火焰图 。 本质上是通过不断的采样 , 然后把收集到的采样结果生成火焰图 。
    以下命令均在Arthas Tunnel Web Console 中执行 。
    1.启动 profiler$ profiler startStarted [cpu
    profiling

    2.停止 profiler 并生成火焰图默认情况下 , 结果文件是 html 格式 , 也可以用 --format 参数指定:
    $ profiler stop --format htmlOK
    profiler output file: /app/arthas-output/20220907-214802.html

    3.通过浏览器查看火焰图上一步生成的 html 文件在指定的微服务组件中 , 所以需要在该微服务组件中查看火焰图 。
    进入到该微服务组件中 , 例如:pig-auth , 在组件端口中添加 3658 端口并打开对外服务并访问 http://domain/arthas-output

    最后Arthas 是款非常好的 Java 诊断工具 , 而在 Kubernetes 中使用较为复杂 。 Rainbond 底层基于 Kubernetes , 在此之上抽象了应用模型 , 使用户更方便的在 Kubernets 中部署管理应用 , 并且通过 Rainbond 的插件机制让用户更便捷的使用 Arthas 诊断业务 , 降低了在 Kubernetes 中使用 Arthas 的门槛 , 用户只需关注业务 。