- grep——搜索满足条件的结果
- plaintext——将命令的结果去除颜色
- wc——按行统计输出结果
使用 > 将结果重写向到日志文件,使用 & 指定命令是后台运行,session断开不影响任务执行(生命周期默认为1天) jobs——列出所有job kill——强制终止任务 fg——将暂停的任务拉到前台执行 bg——将暂停的任务放到后台执行
Web Console通过websocket连接Arthas 。
Web Console
其他特性
- 异步命令支持
- 执行结果存日志
- 批处理的支持
- ognl表达式的用法说明
jad 命令将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑;
- 在 Arthas Console 上,反编译出来的源码是带语法高亮的,阅读更方便
- 当然,反编译出来的 java 代码可能会存在语法错误,但不影响你进行阅读理解
class-pattern 类名表达式匹配[c:] 类所属 ClassLoader 的 hashcode[E] 开启正则表达式匹配,默认为通配符匹配
1、反编译指定方法jad 类的全限定名 方法
例如:- 反编译某个类
文章插图
- 反编译某个类的某个方法
文章插图
(2)watch方法执行数据监测
让你能方便的观察到指定方法的调用情况 。能观察到的范围为:返回值、抛出异常、入参,通过编写 OGNL 表达式进行对应变量的查看 。
参数:
class-pattern 类名表达式匹配method-pattern 方法名表达式匹配express 观察表达式condition-express 条件表达式[b] 在方法调用之前观察[e] 在方法异常之后观察[s] 在方法返回之后观察[f] 在方法结束之后(正常返回和异常返回)观察[E] 开启正则表达式匹配,默认为通配符匹配[x:] 指定输出结果的属性遍历深度,默认为 1
这里重点要说明的是观察表达式,观察表达式的构成主要由 ognl 表达式组成,所以你可以这样写"{params,returnObj}",只要是一个合法的 ognl 表达式,都能被正常支持 。「1、观察方法出参和返回值」
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params,returnObj}" -x 2
文章插图
「2、观察方法入参」
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params,returnObj}" -x 2 -b
文章插图
「3、同时观察方法调用前和方法返回后」
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params,returnObj}" -x 2 -b -s
文章插图
「4、调整-x的值,观察具体的方法参数值」x表示层级数
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params,returnObj}" -x 3
文章插图
「5、条件表达式的例子」
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params, returnObj}" "params[0].id == 1" -x 2
文章插图
只有满足条件的调用,才会有响应
「6、观察异常信息」
$ watch com.liusy.arthas_demo.controller.ArthasController test "{params, throwExp}" -e -x 2
「7、按照耗时进行过滤」$ watch com.liusy.arthas_demo.controller.ArthasController test "{params,returnObj}" #cost>200 -x 3
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 工具推荐:静态代码分析工具清单
- 张飞是一个怎样的人物,评价张飞是什么样的人
- 中国第一个大一统王朝是哪个朝代,历代统一中国的有几个朝代
- 秦始皇不是第一个皇帝,为什么秦始皇是中国第一皇帝
- 程序员的核心竞争力
- 文鸳厉害嘛,文鸳和文鸯是一个人吗?
- 有哪些养胃的食物推荐
- 贾岛是一个什么样的人,贾岛的生平
- 萝卜怎么腌好吃又脆?
- 《金铲铲之战》阵容怎样搭配?