btrace使用
2017-04-01 14:00
246 查看
1. 编译btrace脚本
btracec -classpath ./test.jar BtraceScrpit.java其中 test.jar要跟踪的目标jar包,BtraceScrpit脚本如下
package org.arrow.lab.btrace; import com.sun.btrace.BTraceUtils; import com.sun.btrace.annotations.*; @BTrace public class BtraceScrpit { @Export private static long count; @OnMethod( clazz = "org.arrow.lab.btrace.BtraceCase", method = "add", location = @Location(Kind.RETURN) ) public static void run(@Self Object obj, int a, int b, @Return int result, @Duration long time) { BTraceUtils.println("param : a=" + a + ", b = " + b); BTraceUtils.println("result : result=" + result + ", cost = " + time); count++; } @OnTimer(1000) public static void time() { BTraceUtils.println("export count = " + count); } }
2. 脚本使用
编译过的btrace脚本,会在相关package下生成.class文件,编译过后,即可不需要classpath的相关jar包即原来 xxx.jar 是用来编译脚本的
有脚本的根目录下执行btrace命令即可跟踪到相关的进程
可以使用-o指定日志文件,文件会输出到 目录PID的运行目录下
或可以使用 > out.txt进行输出的重定向
btrace -o a.txt <PID> BtraceScrpit.class ## or 自动编译 btrace -o a.txt <PID> BtraceScript.java
3. 退出
在windows下,直接关闭cmd命令窗口如果 ctrl + c退出的话,可能导致目标进程同时退出
运行脚本时,最好将控制台输出重定向到目标文件中
相关文章推荐
- BTrace使用简介
- Btrace使用
- BTrace使用总结
- btrace 的使用
- 使用BTRACE定位系统中慢的问题
- 使用btrace需要注意的几个问题
- 在只有JRE的环境下使用BTrace
- BTrace简介及使用
- VisualVM Btrace使用
- BTrace使用指南,转自javaeye
- 【运维工具】BTrace使用
- 调试工具BTrace 的使用--例子
- BTrace使用总结
- btrace使用step by step
- 使用btrace需要注意的几个问题
- Btrace在性能测试中的使用
- BTrace使用简介
- btrace 的使用
- 在线调试工具BTrace 的使用--例子
- 使用jvisualvm.exe 的Btrace插件监控应用程序