Arthas 使用 tt 命令抓取调用异常、调用耗时、传入参数、返回参数
Arthas Java 大约 1660 字示例代码
package com.example.arthas.controller;
@Slf4j
@RestController
public class Test111Controller {
@GetMapping("/test1")
public Result test1(@RequestParam String key) {
log.info("test1111111111111#{}", key);
List<String> list = (List<String>) CollectionUtils.arrayToList(new String[]{"aaa", "bbb", "ccc"});
return Result.builder().msg("请求成功").data(list).build();
}
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Result {
private int code;
private String msg;
private Object data;
}
tt -t
[arthas@18800]$ tt -t com.example.arthas.controller.Test111Controller test1
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 42 ms, listenerId: 1
INDEX TIMESTAMP COST(ms) IS-RET IS-EXP OBJECT CLASS METHOD
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1000 2021-02-10 11:51:51 1.7066 true false 0x704b2127 Test111Controller test1
字段含义
表格字段 | 字段解释 |
---|---|
INDEX | 时间片段记录编号,每一个编号代表着一次调用,后续tt还有很多命令都是基于此编号指定记录操作,非常重要。 |
TIMESTAMP | 方法执行的本机时间,记录了这个时间片段所发生的本机时间 |
COST(ms) | 方法执行的耗时 |
IS-RET | 方法是否以正常返回的形式结束 |
IS-EXP | 方法是否以抛异常的形式结束 |
OBJECT | 执行对象的hashCode(),注意,曾经有人误认为是对象在JVM中的内存地址,但很遗憾他不是。但他能帮助你简单的标记当前执行方法的类实体 |
CLASS | 执行的类名 |
METHOD | 执行的方法名 |
tt -l
检索调用记录,列出已经捕获的调用记录。
参考地址
阅读 2870 · 发布于 2021-04-26
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
HTML 使用 tabindex 控制 Tab 键按键顺序阅读 219
-
Nginx 配置之 PHP 路径配置阅读 2238
-
Test.class found in top-level directory (unnamed package not allowed in module)阅读 3344
-
Spring Boot @Scheduled 定时任务阅读 3979
-
Kubernetes 数据存储 NFS阅读 602
-
Golang 中的注释阅读 1464
-
Redis运维监控命令阅读 1594
-
Git 命令之代码合并 rebase阅读 2008
-
Android LinearLayout 分割线阅读 4160
-
MySQL 之延迟键写入 DELAY_KEY_WRITE阅读 2421