设为首页 加入收藏

TOP

BTrace 进行性能测试
2014-11-23 19:30:54 来源: 作者: 【 】 浏览:28
Tags:BTrace 进行 性能 测试

使用BTrace 做性能测试


在官网https://kenai.com/projects/btrace/downloads/directory/releases/release-1.2.4


下载对应的jar包


测试时后,将btrace测试类和被测试类放在同一个机器上


将btrace测试类写好,放在btrace解压的bin目录下


调用如下命令进行测试


sh btrace pid BtraceTest.java


pid可通过jps命令来查看,默认端口是2020端口,如果被测试类有多个进程,则端口号累加


2021 2022 2023 ……


Btrace类


import com.sun.btrace.annotations.BTrace;


import com.sun.btrace.annotations.Kind;


import com.sun.btrace.annotations.Location;


import com.sun.btrace.annotations.OnMethod;


import com.sun.btrace.annotations.ProbeClassName;


import com.sun.btrace.annotations.ProbeMethodName;


import com.sun.btrace.annotations.TLS;



import static com.sun.btrace.BTraceUtils.*;



@BTrace


public class BtraceTest {



@TLS


private static long startTime=0;


@OnMethod(clazz = "/*/", method = "/.*/", location = @Location(value=Kind.ENTRY, clazz="/.*/", method="/.*/"))


public static void startMethod() {


startTime =timeMillis();


}



@OnMethod(clazz = "/*/", method = "/.*/", location = @Location(value=Kind.RETURN, clazz="/.*/", method="/.*/"))


public static void endMethod(@ProbeClassName String className, @ProbeMethodName String methodName) {


println(concat("threadId:", str(threadId(currentThread()))));


println(strcat("className:", className));


println(strcat("methodName:", methodName));


println(strcat("exeTime:", str(timeMillis()-startTime)));



}



@OnMethod(clazz = "//", method = "sendHttpRequest", location = @Location(value=Kind.RETURN, clazz="/.*/", method="/.*/"))


public static void endMethod2(@ProbeClassName String className, @ProbeMethodName String methodName) {


println("CommonBizImpl----sendHttpRequest----------");


//System.out.println("CommonBizImpl----sendHttpRequest----------");


println(concat("threadId:", str(threadId(currentThread()))));


println(strcat("className:", className));


println(strcat("methodName:", methodName));


println(strcat("exeTime:", str(timeMillis()-startTime)));



}



}



threadId:34746


className:*l


methodName:getCacheByTid


exeTime:4


threadId:34754


className:*


methodName:getCacheByTid


exeTime:4


threadId:34746


className:*


methodName:getCacheByTid


exeTime:4


threadId:34746


className:*


methodName:getCacheByTid


exeTime:3


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Google C++ style guide——C++类 下一篇Java实现RabbitMQ 及安装过程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: