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