BTrace
适用于 Java 平台的安全、动态跟踪工具
快速总结
BTrace 是用于 Java 平台的安全、动态跟踪工具。
BTrace 可用于动态跟踪正在运行的 Java 程序(类似于 OpenSolaris 应用程序和操作系统的 DTrace)。
BTrace 动态检测目标应用程序的类以注入跟踪代码(“字节码跟踪”)。
构建BTrace
设置
您将需要安装以下应用程序
Git
JDKs - JDK 8, Java 9 and Java 11 are required to be available
(optionally, the default launcher is the bundled gradlew wrapper) Gradle
为了简化预构建配置,提供了 config_build.sh 脚本。
您应该首先将其作为源 config_build.sh 运行以自动下载所有必需的 JDK 并设置相应的 JAVA_*_HOME 环境变量。
建造
- java
您的 JAVA_HOME 必须指向 JDK 11(例如 JAVA_11_HOME)
- gradle
cd <btrace>
./gradlew build
./gradlew buildDistribution
Using BTrace
安裝
从发布页面下载分发文件。
将二进制分发文件(*.tar.gz 或 *.zip)分解到您选择的目录。
您可以将系统环境变量 BTRACE_HOME 设置为指向包含分解分布的目录。
为方便起见,您可以使用 $BTRACE_HOME/bin 增强系统环境变量 PATH。
或者,您也可以安装 *.rpm 或 *.deb 软件包之一
RUNNING
<btrace>/bin/btrace <PID> <trace_script> 将附加到具有给定 PID 的 java 应用程序并编译并提交跟踪脚本
<btrace>/bin/btracec <trace_script> 将编译提供的跟踪脚本
<btrace>/bin/btracer <compiled_script> <args to launch a java app> 将启动指定的 java 应用程序,并运行 btrace 代理并加载先前由 btracec 编译的脚本
有关详细的用户指南,请查看 Wiki。
Maven 集成
作为构建过程的一部分,maven 插件提供了 BTrace 脚本的简单编译。
作为奖励,您可以利用 BTrace 项目原型来引导开发 BTrace 脚本。
参考资料
https://github.com/btraceio/btrace