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"}

  

 

posted @ 2020-09-25 16:20  teaChat  阅读(1522)  评论(0编辑  收藏  举报