前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Arthas 链路追踪笔记

Arthas 链路追踪笔记

原创
作者头像
时光_赌徒
发布2023-11-28 18:59:01
2200
发布2023-11-28 18:59:01
举报
文章被收录于专栏:记录记录

Arthas 简介:

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

背景

通常,本地开发环境无法访问生产环境。如果在生产环境中遇到问题,则无法使用 IDE 远程调试。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。

开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了。

如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。

Arthas 旨在解决这些问题。开发人员可以在线解决生产问题。无需 JVM 重启,无需代码更改。 Arthas 作为观察者永远不会暂停正在运行的线程。

Arthas(阿尔萨斯)能为你做什么?

  • 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 5、是否有一个全局视角来查看系统的运行状况? 6、有什么办法可以监控到 JVM 的实时运行状态? 7、怎么快速定位应用的热点,生成火焰图? 8、怎样直接从 JVM 内查找某个类的实例?

快速使用

Linux安装使用

  • 1、首先进入服务器 jar包目录#创建arthas 目录
  • 2、启动项目
  • 3、同级目录下执行一下代码
代码语言:txt
复制
mkdir arthas
cd ./arthas
#下载arthas jar包 等待下载完成 预计1-3S
curl -O https://arthas.aliyun.com/arthas-boot.jar
#启动arthas 服务
java -jar arthas-boot.jar
  • 启动成功后如下图所示:
  • 输入1 监控改项目
代码语言:txt
复制
 INFO Try to attach process 71560

INFO Attach process 71560 success.

INFO arthas-client connect 127.0.0.1 3658

  ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.

 /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-'

|  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.`-.

|  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |

`--'`--'`--' '--'`--'   `--'`--'`--'`--'`-----'

wiki: [https://arthas.aliyun.com/doc](https://arthas.aliyun.com/doc)

version: 3.0.5.20181127201536

pid: 71560

time: 2018-11-28 19:16:24

$
  • 显示如上述情况后 ,我们可以开始进行链路追踪了
  • 使用 trace 命令 如下图所示:

红色框内为所需要输入的内容

trace 后跟着 类名的相对地址后添加 方法名

回车后,再次调用改接口 就可以看到链路调用以及耗时情况了

如果想看耗时接口内的情况 持续上述 trace 命令 就可以了

最后附上操作文档,https://arthas.aliyun.com/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Arthas 简介:
  • 背景
  • Arthas(阿尔萨斯)能为你做什么?
  • 快速使用
    • Linux安装使用
    相关产品与服务
    远程调试
    远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档