BTrace - a safe, dynamic tracing tool for the Java platform
A safe, dynamic tracing tool for the Java platform
BTrace is a safe, dynamic tracing tool for the Java platform.
BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inject tracing code ("bytecode tracing").
You will need the following applications installed
In order to ease the pre-build config the
config_build.shscript is provided. You should run it first as
source config_build.shto automatically download all required JDKs and set up the corresponding
Your JAVA_HOME must point to JDK 11 (eg. JAVA11HOME)
cd ./gradlew build ./gradlew buildDistributions
The binary dist packages can be found in
/btrace-dist/build/distributionsas the *.tar.gz, *.zip, *.rpm and *.deb files. The exploded binary folder which can be used right away is located at
/btrace-dist/build/resources/mainwhich serves as the BTRACE_HOME location.
Download a distribution file from the release page. Explode the binary distribution file (either *.tar.gz or *.zip) to a directory of your choice.
You may set the system environment variable BTRACE_HOME to point to the directory containing the exploded distribution.
You may enhance the system environment variable PATH with $BTRACE_HOME/bin for your convenience.
Or, alternatively, you may install one of the *.rpm or *.deb packages
/bin/btracewill attach to the java application with the given PID and compile and submit the trace script
/bin/btracecwill compile the provided trace script
/bin/btracerwill start the specified java application with the btrace agent running and the script previously compiled by btracec loaded
For the detailed user guide, please, check the Wiki.
The maven plugin is providing easy compilation of BTrace scripts as a part of the build process. As a bonus you can utilize the BTrace Project Archetype to bootstrap developing BTrace scripts.
Pull requests can be accepted only from the signers of Oracle Contributor Agreement
Using the command line, add the following to your /etc/apt/sources.list system config file:
echo "deb http://dl.bintray.com/btraceio/deb xenial universe" | sudo tee -a /etc/apt/sources.list
Or, add the repository URLs using the "Software Sources" admin UI:
deb http://dl.bintray.com/btraceio/deb xenial universe
Grab the *.repo file
wget https://bintray.com/btraceio/rpm/rpm -O bintray-btraceio-rpm.repoand use it.