说明:
BTrace是Java进程诊断分析工具,优点是无侵入性,跟踪时对原有应用无干扰,不需要重启应用。
项目主页:https://kenai.com/projects/btrace
实验过程:
1、环境说明:
操作系统:windows 7
JDK版本:1.6
BTrace 版本:1.24
BTrace安装路径:c:\temp\btrace
Eclipse Java测试工程目录:E:\bi\projects\tezz
提前设置好JAVA_HOME与BTRACE_HOME
JAVA_HOME=E:\jdk1.6.0_10
BTRACE_HOME=e:\temp\btrace
在path环境变量中增加 %JAVA_HOME%\bin;%BTRACE_HOME%\bin 内容
2、实验步骤:
1)开发demo.btrace.HelloWorld.java
package demo.btrace;
import java.util.Random;
public class HelloWorld {
public static void main(String[] args) throws Exception {
//CaseObject object = new CaseObject();
while (true) {
Random random = new Random();
execute(random.nextInt(4000));
}
}
public static Integer execute(int sleepTime) {
try {
Thread.sleep(sleepTime);
} catch (Exception e) {
}
System.out.println("sleep time is=>"+sleepTime);
return 0;
}
}
2)编写Trace程序:
package demo.btrace;
import ...
@BTrace
public class TraceHelloWorld {
@TLS
private static long startTime = 0;
@OnMethod(clazz = "demo.btrace.HelloWorld", method = "execute")
public static void startMethod(){
startTime = timeMillis();
}
@OnMethod(clazz = "demo.btrace.HelloWorld", method = "execute", location = @Location(Kind.RETURN))
public static void endMethod(){
println(strcat("the class method execute time=>", str(timeMillis()-startTime)));
println("-------------------------------------------");
}
@OnMethod(clazz = "demo.btrace.HelloWorld", method = "execute", location = @Location(Kind.RETURN))
public static void traceExecute(@ProbeClassName String name,@ProbeMethodName String method,int sleepTime){
println(strcat("the class name=>", name));
println(strcat("the class method=>", method));
println(strcat("the class method params=>", str(sleepTime)));
}
}
3)eclipse环境,运行HelloWorld程序。
4)dos环境,切换到E:\bi\projects\tezz\src目录,执行jps命令,查看HelloWorld的pid为21440。
5)dos环境,切换到E:\bi\projects\tezz\src\demo\btrace目录,执行如下命令:
>btrace.bat 21440 TraceHelloWorld.java
能否查看到执行的结果。
3、注意事项:
1)本机最初采用jdk1.8版本,实验表明不兼容,需降到JDK 1.6版本,其他版本兼容性未做测试。
2)修改了btrace.bat,内容如下,注意标红部分,目的是增加将eclipse工程中引用的jar包:
@echo off
set LIBPATH=E:\bi\projects\tezz\WebRoot\WEB-INF\lib
set CP=.
for /f %%i in ('dir /b/s/o %LIBPATH%\*.jar') do CALL :addpath %%i
rem %~dp0 is expanded pathname of the current script under NT
set DEFAULT_BTRACE_HOME=%~dp0..
if "%BTRACE_HOME%"=="" set BTRACE_HOME=%DEFAULT_BTRACE_HOME%
set DEFAULT_BTRACE_HOME=
if not exist "%BTRACE_HOME%\build\btrace-client.jar" goto noBTraceHome
@echo on
if "%JAVA_HOME%" == "" goto noJavaHome
"%JAVA_HOME%/bin/java" -Dcom.sun.btrace.probeDescPath=. -Dcom.sun.btrace.dumpClasses=false -Dcom.sun.btrace.debug=false -Dcom.sun.btrace.unsafe=false -cp "%CP%;%BTRACE_HOME%/build/btrace-client.jar;%JAVA_HOME%/lib/tools.jar" com.sun.btrace.client.Main %*
goto end
:noJavaHome
echo Please set JAVA_HOME before running this script
goto end
:noBTraceHome
echo Please set BTRACE_HOME before running this script
:addpath
SET CP=%CP%;%1
GOTO :EOF
:end
相关推荐
btrace btrace btrace btrace
1.btrace扩展是在btrace已由功能上进行的扩展,原有功能和使用方式依然没变。目前版本扩展了两个功能:接口时间监控和接口时间调用树监控。扩展之后的btrace功能使用时都不需要写btrace脚本。 2.使用接口时间监控...
btrace-bin直接解压缩配置环境变量后即可运行使用。 java监控调试工具虚拟机监控程序,利用BTrace可以在线监控java程序状态。 BTrace是一种安全,动态的Java跟踪工具。BTrace通过动态(字节码)检测正在运行的Java...
Btrace:java性能调优及问题追踪工具 Btrace:java性能调优及问题追踪工具
java 在线检测插件Btrace, 无需重启服务,即可在线定位问题
btrace1.3.9 jdk1.8 maven 编译构建 http://github.com/btraceio/btrace
btrace1.3.9最新版本转过来
自己做的BTrace监控,Linux服务器上的tomcat工程,压缩包包含BTrace开发所需的jar包 BTrace简单示例代码 jvisualvm.exe如果远程服务器监控JVM虚拟机信息
btrace安装包,linux和windows通用,1.3.9版本。可以直接解压缩配置环境变量后运行使用
Btrace用来做项目检测,访问过的类方法统计,无侵略性,JDK1.6
btrace api 1.2 文档,从网上扒下来自己做的,其他地方貌似都没有chm,提供给大家使用 btrace是一个跟踪、监控java程序的小工具,能够在不改变源代码的情况下监控很多东西,比如:方法运行时间、输入输出参数、抛出...
jvisualvm btrace插件离线安装,如果jvisualvm不能安装btrace,则可进行离线安装。 这里收集了安装btrace所需要的依赖包,直接添加 即可安装
jvisualvm-btrace离线安装包。 jvisualvm btrace插件离线安装包1.2.85版本,目前官网不支持国内在线下载。 含相关依赖包:jsyntaxpane-lib.nbm、net-java-btrace-api.nbm、net-java-btrace-visualvm.nbm、...
Btrace Java 发布版本,Java 虚拟机监控程序
btrace workbench 插件jar包打包下载,jvisualvm的插件
BTrace通过动态(字节码)检测类运行Java程序。BTrace插入跟踪行动运行Java程序的类和hotswaps跟踪程序类。 因此,也就成为我们线上跟踪生产代码的有力工具!
btrace_extend-master,解压后上传至服务器即可以使用btrace命令
BTrace自我学习测试代码总结,包含List对象参数,自定义对象的参数的监控。
btrace-bin-1.3.11.zip 目前最近的版本,java调度的绝对利器
BTrace整个实现的原理是Java Agent+ASM+Java instrument+ Java Complier Api