ChaosBlade对jvm的操作
ChaosBlade对jvm的操作
1. 指定 pid 执行 java agent 挂载
blade prepare jvm --pid 4082
[root@focus-1 chaosblade-0.6.0]# blade prepare jvm --pid 4082
{"code":200,"success":true,"result":"25448056eb95807a"}
2. 查看prepare
blade s --type p
[root@focus-1 chaosblade-0.6.0]# blade s --type p
{
"code": 200,
"success": true,
"result": [
{
"Uid": "25448056eb95807a",
"ProgramType": "jvm",
"Process": "",
"Port": "33962",
"Pid": "4082",
"Status": "Running",
"Error": "",
"CreateTime": "2020-09-25T10:12:57.777471691+02:00",
"UpdateTime": "2020-09-25T10:13:13.104144385+02:00"
}
]
}
3. 卸载
[root@focus-1 chaosblade-0.6.0]# blade revoke d7b0a83e2bbd2d9c {"code":200,"success":true,"result":"success"}
4. 设置方法超时
[root@focus-1 ~]# blade c jvm delay --time 8000 --classname=<package path>.<class name> --methodname=<method name> --pid 8591 {"code":200,"success":true,"result":"c5a21a0cf59e3e60"} [root@focus-1 ~]# [root@focus-1 ~]# b s c5a21a0cf59e3e60 { "code": 200, "success": true, "result": { "Uid": "c5a21a0cf59e3e60", "Command": "jvm", "SubCommand": "delay", "Flag": " --time=8000 --classname=<package path>.<class name> --methodname=<method name> --pid=8591", "Status": "Success", "Error": "", "CreateTime": "2020-09-25T11:42:43.228286727+02:00", "UpdateTime": "2020-09-25T11:42:43.330338161+02:00" } }
5. 查看实验
[root@focus-1 ~]# b s --uid 24b44685c75b6921
{
"code": 200,
"success": true,
"result": {
"Uid": "24b44685c75b6921",
"Command": "jvm",
"SubCommand": "return",
"Flag": " --value=chaosblade --classname=<class path> --methodname=<method name> --pid=31057",
"Status": "Success",
"Error": "",
"CreateTime": "2020-09-27T03:41:58.751730372+02:00",
"UpdateTime": "2020-09-27T03:41:58.936128755+02:00"
}
}
6. 修改方法返回值
[root@focus-1 ~]# blade c jvm return --value "hello chaosblade" --classname <class path> --methodname <method name> --pid 31057
{"code":200,"success":true,"result":"2bbc96df4fe29524"}

浙公网安备 33010602011771号