Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
August 5, 2023 20:16
July 20, 2023 19:29
March 25, 2022 22:14
August 20, 2023 18:19
February 11, 2023 20:00
April 3, 2021 15:56
August 15, 2023 17:56
October 9, 2016 12:57
July 20, 2023 19:29
August 20, 2023 18:19
August 20, 2023 18:19
December 18, 2020 08:40

Dev build Download huhu Join the chat at Project Stats


A safe, dynamic tracing tool for the Java platform



Quick Summary

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").


Building BTrace


You will need the following applications installed

  • Git
  • (optionally, the default launcher is the bundled gradlew wrapper) Gradle



cd <btrace>
./gradlew :btrace-dist:build

The binary dist packages can be found in <btrace>/btrace-dist/build/distributions as the *.tar.gz, *.zip, *.rpm and *.deb files. The exploded binary folder which can be used right away is located at <btrace>/btrace-dist/build/resources/main which serves as the BTRACE_HOME location.

Using BTrace


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


  • <btrace>/bin/btrace <PID> <trace_script> will attach to the java application with the given PID and compile and submit the trace script
  • <btrace>/bin/btracec <trace_script> will compile the provided trace script
  • <btrace>/bin/btracer <compiled_script> <args to launch a java app> will 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.

Maven Integration

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.

Contributing - !!! Important !!!

Pull requests can be accepted only from the signers of Oracle Contributor Agreement

Deb Repository

Using the command line, add the following to your /etc/apt/sources.list system config file:

echo "deb xenial universe" | sudo tee -a /etc/apt/sources.list

Or, add the repository URLs using the "Software Sources" admin UI:

deb xenial universe

RPM Repository

Grab the *.repo file wget -O bintray-btraceio-rpm.repo and use it.