欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

当我尝试使用 btrace 跟踪 Spring 项目时,我收到一个错误("处理程序调度失败;嵌套异常是 java.lang.NoSuchFieldError: runtime")EN

最编程 2024-05-22 22:07:53
...

正如我在标题中提到的,我尝试使用btrace来跟踪restful api的执行,得到了这个错误:"Handler dispatch failed; nested exception is java.lang.NoSuchFieldError: runtime"当我在启动btrace进程之前调用restful api时,这个restful api工作得很好,一旦我启动了btrace进程,这个restful api每次调用这个api.And都会抛出错误。

以下是一些信息:

代码语言:javascript
复制
sping version:4.3.9.RELEASE
btrace version:1.3.12-SNAPSHOT
tomcat version:8.5.34

Restful API(java代码):

代码语言:javascript
复制
    @Controller
@RequestMapping("/user")
public class UserInfoController {

    @RequestMapping(value = "/greetting/{name}", method = RequestMethod.GET)
    @ResponseBody
    public WebResponse<String> greet(@PathVariable(value = "name") String name) {
        int a = 1;
        return WebResponseUtil.onSuccess("hello " + name);
    }
}

btrace测试类代码:

代码语言:javascript
复制
    @BTrace
public class BtraceTest {

//    //获取耗时与方法名
//    @O`enter code here`nMethod(clazz = "com.zrr.controller.UserInfoController", method = "greet", location = @Location(Kind.RETURN))
//    public static void getFuncRunTime(@ProbeMethodName String pmn, @Duration long duration) {
//        println("接口 " + pmn + strcat("的执行时间(ms)为: ", str(duration / 1000000))); //单位是纳秒,要转为毫秒
//    }


    @OnMethod(
            clazz = "com.meituan.zrr.controller.UserInfoController",
            method = "greet",
            location = @Location(Kind.ENTRY)
    )
    public static void getFuncEntry(@ProbeClassName String pcn, @ProbeMethodName String pmn, String name) {
        println("类名: " + pcn);
        println("方法名: " + pmn);

        BTraceUtils.print("入参userName为: ");
        BTraceUtils.printFields(name);
    }
}

我想知道这是否与btrace版本有关?希望有人能救我,谢谢!