arthas
是一个
Java
开源诊断神器。
今天分享一个非常重要的命令monitor,主要作用是监控Java方法执行的。
监控的维度说明
监控项 | 说明 |
timestamp | 时间戳 |
class | Java类 |
method | 方法(构造方法、普通方法) |
total | 调用次数 |
success | 成功次数 |
fail | 失败次数 |
rt | 平均RT |
fail-rate | 失败率 |
这里面fail的标准是抛出异常,其中rt这个参数比较有意义,可以查看一下方法调用的耗时情况,比如不同参数场景下的方法耗时,这个统计仅供参考。原因下面会讲。方法调用比较简单,只有一个参数-c表示统计周期的,默认是120s。文档中表示执行只命令会导致JVM运行改方法变慢,这里我做了实验,大概会提高50%的rt,结束arthas之后恢复原来的性能。
arthas命令monitor监控方法执行
代码
package com.fun;
import com.fun.frame.httpclient.FanLibrary;import com.fun.utils.Time;
public class AR extends FanLibrary {
public static void main(String[] args) {
while (true) { sleep(1000); long mark = Time.getTimeStamp(); for (int i = 0; i < 1000; i++) { output(DEFAULT_STRING); } long mark1 = Time.getTimeStamp(); System.out.println(mark1 - mark);
}
}
static String test() { sleep(100); return DEFAULT_STRING; }
String fun() { sleep(100); int randomInt = getRandomInt(2); if (randomInt == 1) fail(); return DEFAULT_STRING; }
}
-
技术类文章精选
- Linux性能监控软件netdata中文汉化版
- 图解HTTP脑图
- JMeter吞吐量误差分析
- JMeter如何模拟不同的网络速度
- 手机号验证码登录性能测试
- 接口测试视频专题
- 删除List中null的N种方法--最后放大招
无代码文章精选
- 写给所有人的编程思维
- 好书推荐《Java性能权威指南》
- 自动化新手要避免的坑(上)
- 自动化新手要避免的坑(下)
- 如何成为全栈自动化工程师
- 自动化策略六步走
- 功能自动化测试策略

















