blade prepare jvm

介绍

挂载 java agent,执行 java 实验场景必要步骤

参数

1
-j, --javaHome string 指定 JAVA_HOME 路径,用于指定 java bin 和 tools.jar,如果不添加此参数,默认会优先获取 JAVA_HOME 环境变量,如果获取失败,会解析指定进程参数获取 JAVA_HOME,获取失败,会使用 chaosblade 自带的 tools.jar
2
--pid string java 进程ID
3
-P, --port int java agent 暴露服务的本地端口,用于下发实验命令
4
-p, --process string java 进程关键词,用于定位 java 进程
5
-d, --debug 开启 debug 模式
Copied!

案例

指定 pid 执行 java agent 挂载
1
blade prepare jvm --pid 26652
2
# 命令也可简写为
3
blade p jvm --pid 26652
Copied!
执行成功,会返回实验准备的 UID,例如:
1
{"code":200,"success":true,"result":"2552c05c6066dde5"}
Copied!
2552c05c6066dde5 就是实验准备对象的 UID,执行卸载操作需要用到此 UID,例如
1
blade revoke 2552c05c6066dde5
2
# 命令也可简写为
3
blade r 2552c05c6066dde5
Copied!
如果 UID 忘记,可通过以下命令查询
1
blade status --type prepare --target jvm
2
# 命令也可简写为:
3
blade s --type p --target jvm
Copied!
挂载 java agent 操作是个比较耗时的过程,在未返回结果前请耐心等待

实现原理

常见问题

Q: {"code":500,"success":false,"error":"cannot get port from local, please execute prepare command first"} A: 没有挂载所需的 java agent,执行 prepare jvm 命令挂载
Q: {"code":602,"success":false,"error":"less --process or --pid flags"} A: 缺少必要参数用于指定 java 应用进程
Last modified 1mo ago