btrace

BTrace - a safe, dynamic tracing tool for the Java platform

Github星跟蹤圖

Download Build Status codecov.io Join the chat at https://gitter.im/jbachorik/btrace Project Stats

btrace

A safe, dynamic tracing tool for the Java platform

Version

2.0.0

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

Credits

Building BTrace

Setup

You will need the following applications installed

  • Git
  • JDKs - JDK 8, Java 9 and Java 11 are required to be available
  • (optionally, the default launcher is the bundled gradlew wrapper) Gradle

In order to ease the pre-build config the config_build.sh script is provided. You should run it first as source condfig_build.sh to automatically download all required JDKs and set up the corresponding JAVA_*_HOME env variables.

Build

Gradle

cd <btrace>
./gradlew build
./gradlew buildDistributions

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

Installation

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

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.

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

RPM Repository

Grab the *.repo file wget https://bintray.com/btraceio/rpm/rpm -O bintray-btraceio-rpm.repo and use it.

主要指標

概覽
名稱與所有者btraceio/btrace
主編程語言Java
編程語言Java (語言數: 5)
平台
許可證
所有者活动
創建於2014-08-28 18:58:24
推送於2025-04-11 16:47:40
最后一次提交2025-02-15 19:49:22
發布數60
最新版本名稱v2.2.6 (發布於 )
第一版名稱release-1-0 (發布於 )
用户参与
星數5.9k
關注者數325
派生數1k
提交數1.6k
已啟用問題?
問題數435
打開的問題數2
拉請求數212
打開的拉請求數10
關閉的拉請求數51
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?