BTrace

Version

2.0

Important

Version 2.0 is a proof of concept for enhanced BTrace modularization. It has been dormant for quite a long time and there is no time estimate when the work on it would continue. Please note that there might be severe errors or omissions making this version not suitable for usage in production.

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

Setup

You will need the following applications installed

Build

cd <btrace>
mvn --also-make --projects dist install verify

The binary dist packages can be found in <btrace>/dist/target as the *.tar.gz and *.zip files

Using BTrace

Installation

Explode a 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.

Running

  • <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.