arthes简介

以下是arthes官网原文:

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

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

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

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

官网原文把功能写的已经很通透易懂了,我这边主要是补充一下它的用法和一些插件。

官网地址:简介 | arthas

用法介绍

1. 启动arthes

下载arthas-boot.jar,然后用java -jar的方式启动:

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

启动之后arthes会将当前运行的所有应用都列举出来,如下:

 然后从1、2、3中选择一个进入,这里我选择3进入,但是报错了,没关系按照它第三条提示的命令重启一下 ,成功进入。

这里的SpringBoot-query-0.0.1-SNAPSHOT.jar就是我写的一个测试应用。

2. 反编译java类

命令格式:jad 包路径+类名

3. 函数执行数据观测

这个一般使用它的watch指令,但是自己去拼实在是太麻烦了。下面介绍一个插件,如果你的开发工具是idea,那么可以去插件市场搜索arthes

安装之后,打开编辑器,选中方法名,右键打开工具条

这样就会生成一条监测命令,粘贴到刚才的arthes控制台即可,调用一下该方法,就可以看到出入参数了,非常的便捷好用。

watch指令使用的最多,多用于调试功能。

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

使用idea插件生成方法的trace命令,贴到arthes控制台,如下:

这样就可以很清楚看到这个方法调用了哪些类、哪些方法并且把耗时打印出来了。

5. 方法执行监控

使用idea插件生成方法的monitor命令,贴到arthes控制台,如下:

monitor命令一般用于统计方法的平均耗时。

arthes—线上debug好帮手相关推荐

  1. IDEA 轻松实现线上debug 调试

    IDEA 轻松实现线上debug 调试 文章目录 IDEA 轻松实现线上debug 调试 实现步骤 以jdk1.8为例 步骤 1 打开线上环境 步骤 2 IDEA增加debug连接 实现步骤 以jdk ...

  2. 线上Debug神器--Arthas(阿尔萨斯)

    目录 一.Arthas环境准备 1.概述 2.运行环境要求 3.安装&卸载 二.Arthas命令学习 一.Arthas环境准备 1.概述 Arthas是Alibaba开源的Java诊断工具,深 ...

  3. Java 线上问题排查神器 Arthas 快速上手与原理浅谈

    [Arthas 官方社区正在举行征文活动,参加即有奖品拿哦~点击投稿] 作者 | 杨桢栋,笔名叫蛮三刀把刀,是一名一线互联网码农,留美访学一年,主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向 ...

  4. arthas 排查内存溢出_Java程序线上故障排查

    这篇文章是在公司做了不少的线上Java服务故障排查和优化之后的一个总结,可以作为一个工具清单,在分析问题的时候需要有整体思路:全局观,先从系统层面入手,大致定位方向(内存,cpu,磁盘,网络),然后再 ...

  5. 全面Java程序线上故障排查

    文章内容过长,望读者见谅,小编在文末准备了彩蛋 目录 这篇文章是在公司做了不少的线上Java服务故障排查和优化之后的一个总结,可以作为一个工具清单,在分析问题的时候需要有整体思路:全局观,先从系统层面 ...

  6. 线上问题分析诊断神器 Arthas(阿尔萨斯)

    1.Arathas 介绍 官方文档:https://arthas.aliyun.com/doc/ GitHub 地址:https://github.com/alibaba/arthas Arthas ...

  7. Java线上问题排查神器Arthas快速上手与原理浅谈

    前言 当你兴冲冲地开始运行自己的Java项目时,你是否遇到过如下问题: 程序在稳定运行了,可是实现的功能点了没反应. 为了修复Bug而上线的新版本,上线后发现Bug依然在,却想不通哪里有问题? 想到可 ...

  8. mysql连接池泄露_一次线上故障:数据库连接池泄露后的思考

    作者:陈朗,普兰金融科技能效工程部开发工程师 一:初步排查 早上作为能效平台系统的使用高峰期,系统负载通常比其它时间段更大一些,某个时间段会有大量用户登录.当天系统开始有用户报障,发布系统线上无法构建 ...

  9. J2EE远程调试,远程debug你的线上Springboot项目

    2019独角兽企业重金招聘Python工程师标准>>> 开发环境中代码出错了,可以利用IDE的debug功能来进行调试.那线上环境出错呢? 一.假设我们的项目是部署在tomcat中, ...

最新文章

  1. HTTP头信息中的参数Etag
  2. 机器学习之异常点检测
  3. 【机器学习】决策树知识点小结
  4. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国近现代史纲要(A)10881k1
  5. 时序数据合并场景加速分析和实现 - 复合索引,窗口分组查询加速,变态递归加速...
  6. @Component和@Configuration作为配置类的差别
  7. vue 项目加载顺序_如何提高Vue项目首页的加载速度
  8. 《机器学习实战》学习总结(六)PCA算法原理
  9. [转]android刷新后R.java不见了
  10. 编程工具使用-Procexp
  11. 树莓派 引脚及接口图 AV接口顺序
  12. PVT论文精读:Pyramid Vision Transformer: A Versatile Backbone for Dense Predictionwithout Convolutions
  13. android 设置默认铃声,我的Android进阶之旅------gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声,android进阶...
  14. SpringCloud(part10)Spring Data 与JPA,MongoDB,Redis
  15. 哈啰:学拼多多的套路,走美团的老路
  16. android学生成绩查询代码,android学生成绩查询系统.pdf
  17. 2020_ACL_A Transformer-based joint-encoding for Emotion Recognition and Sentiment Analysis
  18. hdu5879 Cure( 1/(n^2)的快速收敛性质)
  19. 系统移植(系统移植环境搭建及简单概念)
  20. staruml 免费版

热门文章

  1. CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产
  2. c语言整数大小越界,整数越界相加并求第n个斐波纳契数(C语言实现)
  3. opencv-python 实现角点检测和棋盘角点检测
  4. 【力扣】77. 组合
  5. PT 系列 00·小谈 pt-kill
  6. php发送邮件email
  7. lisp语言做房产分户图_房产证的附图是房产分户图
  8. 爬虫基础-----1.python基础
  9. 银行家算法原理及代码实现
  10. TXS0102使用说明