btraceio/btrace

Production-safe dynamic tracing and diagnostics for Java applications—attach to live JVMs with no restart or recompilation.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 38 minutes ago
Added to GitGenius on September 11th, 2026
Created on August 28th, 2014
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 956
Total Stargazers: 5,995 (+0)
Total Subscribers: 311 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.5 days
Mean response time: 8.8 days
90th percentile: 14.9 days
Tracked items: 45

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 18% of issues opened in the past year have been closed. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 941 days
Stale 30+ days: 1
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (12)
  • BTRACE (11)
  • Task (11)
  • Extensions (9)
  • build (9)
  • no-issue-activity (7)
  • Client (6)
  • Core (4)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

BTrace is a dynamic tracing and diagnostics tool for Java applications that attaches to live JVMs without requiring restart or recompilation.

BTrace solves the problem of diagnosing production Java applications when you cannot afford downtime or code changes. It works by dynamically instrumenting running JVMs through bytecode injection, allowing you to inject tracing code at runtime. The tool supports flexible probe types including method entry and exit, timing measurements, field access monitoring, and allocation tracking. Scripts are verified before execution to ensure they cannot crash the application, making it safe for production use.

BTrace suits teams that need to troubleshoot live systems without deployment cycles. It is particularly valuable when you need to trace method timings, track exceptions, or create custom probes on demand. The tool supports Java 8 through 25, though running against JVMs older than Java 17 is deprecated and will be unsupported in the next major release. Installation is straightforward through JBang, which requires no manual setup and handles version management automatically, or through traditional package managers and Docker.

The project maintains active development with regular updates to support new Java versions. The codebase is modular, with distinct components for runtime, core functionality, compilation, and agent instrumentation that can be tested independently. Documentation is comprehensive, covering quick reference guides, step-by-step tutorials, and extension development. The project provides multiple channels for community support including Slack and GitHub Issues, and accepts contributions with clear guidance on building from source and running the test suite.