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

Arthas监控方法内部调用路径,并输出方法路径上的每个节点上耗时

在系统没有监控平台,或者监控平台,如PinPoint故障时,想要监控某个方法耗时可以借助Arthas

  • 安装Arthas arthas

  • 解压 并启动

安装包下载完成后,进行解压,然后进入arthas bin目录(我这是Windows系统演示)

启动时,确保已经安装了JDK,然后使用java -jar命令启动arthas

启动成功后,会列出进程;选择要进入的进程标号对应的数字,如[1];直接输入 1,回车

  • 使用Trace命令 监控目标方法
# Trace命令行
# 监控 ArtemisDoorServiceImpl实现类中的getDoorControlPointList方法
trace -E com.framework.service.impl.ArtemisDoorServiceImpl getDoorControlPointList

# 查看多个类多个方法的执行轨迹,用“|”分隔,两边不能有空格
trace -E com.framework.service.impl.ArtemisDoorServiceImpl|com.framework.service.impl.ArtemisDoor2ServiceImpl getDoorControlPointList|getDoorControlPointList2

其中,前面是类的Reference路径,后面跟方法名

除了Trace命令以外还可以使用monitor、watch命令对方法进行监控

monitor—方法执行监控

watch—方法执行数据观测

trace—方法内部调用路径,并输出方法路径上的每个节点上耗时(调用链路及耗时)

【请注意】,这些命令,都通过字节码增强技术来实现的,会在指定类的方法中插入一些切面来实现数据统计和观测,因此在线上、预发使用时,请尽量明确需要观测的类、方法以及条件,诊断结束要执行 stop 或将增强过的类执行 reset 命令。

  • Postman请求响应的接口,可以看到控制台打印出方法的耗时

查看方法执行入参

$ watch com.framework.service.impl.ArtemisDoorController hello params

查看方法执行的返回值

$ watch com.framework.service.impl.ArtemisDoorController hello returnObj

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

相关文章:

  • 【AI游戏】基于OpenAI打造自动生成剧情的 Python 游戏
  • MATLAB语言的函数实现
  • 跨境电商领域云手机之选:亚矩阵云手机的卓越优势
  • P10打卡——pytorch实现车牌识别
  • 零样本极速复刻语音!F5-TTS本地部署教程
  • Spring Boot 支持哪些日志框架
  • 计算机网络之---端口与套接字
  • 机器学习之K-mean算法理解及实现
  • Java中的反射机制及其应用场景
  • Day05-后端Web基础——TomcatServletHTTP协议SpringBootWeb入门
  • YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练
  • CentOS7下Hadoop集群分布式安装详细图文教程
  • [Qt]常用控件介绍-按钮类控件
  • 【论文阅读】Workload Dependent Performance Evaluation of the Linux 2.6 I/O Schedulers
  • MySQL--2.1MySQL的六种日志文件
  • LabVIEW启动时Access Violation 0xC0000005错误
  • Node.js——path(路径操作)模块
  • FastDDS安装测试记录
  • 【数学】概率论与数理统计(五)
  • day06_Spark SQL
  • JavaScript函数:从基础到进阶拓展
  • C++中线程同步与互斥的4种方式介绍、对比、场景举例
  • web前端第六次作业---制作网页页面
  • 【25考研】西南交通大学软件工程复试攻略!
  • 《AI赋能鸿蒙Next,打造极致沉浸感游戏》
  • goland 环境变量配置