当前位置: 首页 > article >正文

阿里云Arthas使用——通过watch命令查看类的返回值 捞数据出来

在这里插入图片描述

前言

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

本篇博客介绍如何通过watch命令查看调用方法的输出参数。

其他的Arthas博客文章如下:

  • 阿里云的Arthas的使用 & 安装和使用 & 死锁查找案例,重新加载案例,慢调用分析

目录

  • 前言
  • 引出
  • as.sh方式的安装
      • 报错:telnet is not installed
      • 报错:unzip is not installed
      • 报错:no available java process to attach
  • 通过Arthas进行捞数据
    • 分析出要watch的类
    • watch命令
  • 总结

引出


1.JVM调优的工具阿里云的Arthas的使用,安装和使用;
2.watch命令查看调用方法的输出参数

https://arthas.aliyun.com/doc/install-detail.html

as.sh方式的安装

报错:telnet is not installed

[root@iZuf61wy7p4tbr7lmwv18iZ software]# ./as.sh 
Error: telnet is not installed. Try to use java -jar arthas-boot.jar
 yum install -y telnet-server.x86_64
 yum install -y telnet.x86_64

在这里插入图片描述

在这里插入图片描述

报错:unzip is not installed

[root@iZuf61wy7p4tbr7lmwv18iZ software]# ./as.sh 
Error: unzip is not installed. Try to use java -jar arthas-boot.jar
yum -y install telnet.x86_64 unzip zip

在这里插入图片描述

报错:no available java process to attach

Error: no available java process to attach

在这里插入图片描述

通过Arthas进行捞数据

分析出要watch的类

一步一步分析要watch的类

在这里插入图片描述

找到是哪个类的哪个方法

在这里插入图片描述

watch命令

https://arthas.aliyun.com/doc/commands.html

让你能方便的观察到指定函数的调用情况。能观察到的范围为:返回值抛出异常入参,通过编写 OGNL 表达式进行对应变量的查看。

观察表达式,默认值是{params, target, returnObj}

在这里插入图片描述

通过as.sh启动arthas

在这里插入图片描述

启动arthas成功

在这里插入图片描述

watch com.wattsonic.iot.gateway.modbus.command.GroupCommand parseResult 'returnObj' -x3

在这里插入图片描述

[arthas@5418]$ watch com.wattsonic.iot.gateway.modbus.command.GroupCommand parseResult 'returnObj' -x3
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 120 ms, listenerId: 5
method=com.wattsonic.iot.gateway.modbus.command.GroupCommand.parseResult location=AtExit
ts=2023-11-29 17:27:41; [cost=0.336862ms] result=@HashMap[
    @String[L2加热器目标水温]:@Long[0],
    @String[L3加热器目标水温]:@Long[0],
    @String[L1加热器24h用电量]:@Long[0],
    @String[L2加热器24h用电量]:@Long[0],
    @String[加热器状态STATE1]:@Long[1500],
    @String[最大总功率]:@Long[0],
    @String[L2加热器负载功率]:@Long[0],
    @String[L3加热器负载功率]:@Long[0],
    @String[加热器状态STATE2]:@Long[0],
    @String[L3加热器24h用电量]:@Long[0],
    @String[L2加热器当前温度]:@Long[1500],
    @String[L1加热器负载功率]:@Long[0],
    @String[L1加热器目标水温]:@Long[0],
    @String[L1加热器当前温度]:@Long[0],
    @String[L3加热器当前温度]:@Long[1500],
]

在这里插入图片描述


总结

1.JVM调优的工具阿里云的Arthas的使用,安装和使用;
2.watch命令查看调用方法的输出参数;


http://www.kler.cn/a/160899.html

相关文章:

  • 985研一学习日记 - 2024.11.12
  • 第二天python笔记
  • 通过脚本,发起分支合并请求和打tag
  • Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
  • SpringBoot整合Freemarker(三)
  • 大数据学习12之HBase
  • 用C语言实现链栈的基本操作
  • 封装了一个顺滑嵌套滚动的框架
  • 结构体和链表例题2
  • 浏览器开发者工具使用(F12)
  • Redis中持久化策略RDB与AOF优缺点对比
  • 解锁全球潜力:IT外包解决跨国企业海外分支的IT需求
  • 软件测试外包干了2个月,技术进步2年。。。
  • 云主机存储类型、AZ讲解
  • MySQL学习day04(一)
  • Recyclerview属性配置记录
  • 软件工程 课后题 选择 查缺补漏
  • [足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积
  • 【前端设计模式】之代理模式
  • 20、XSS——XSS跨站脚本
  • 什么台灯好用不伤眼睛?适合考研使用的台灯推荐
  • Python 读取电子发票PDF 转成Excel
  • 集成学习算法随机森林发生过拟合时,如何调整超参数?
  • 2 文本分类入门:TextCNN
  • 各大期刊网址
  • 自定义 element DatePicker组件指令 使选择器呈现为只读状态,用户无法直接编辑,但可以查看和选择日期