awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jbachorik avatar

jbachorik/btrace

0
View on GitHub↗
5,991 stars·956 forks·Java·Apache-2.0·16 views

Btrace

btrace is a Java dynamic tracing tool and instrumentation framework designed for real-time diagnostics. It enables the injection of monitoring code into running Java virtual machines to analyze behavior and diagnose processes without requiring an application restart.

The platform features a dynamic probe engine for executing single-line debugging commands to print data and trace call stacks. It provides an extensible tracing framework that supports custom functionality and external integrations through isolated implementation modules.

The system covers runtime performance monitoring, method execution tracing, and Java application diagnostics. It captures timing, exception data, and argument values at function entry and exit points while managing extension security through a permission system that controls access to the network and file system.

Features

  • Java Diagnostic Toolkits - Provides a comprehensive toolkit for real-time troubleshooting of live Java applications via method execution and stack tracing.
  • Java Agents - Utilizes Java agents to transform classes at runtime, enabling non-invasive monitoring of running virtual machines.
  • Runtime Bytecode Instrumentation - Implements runtime bytecode instrumentation to inject monitoring code into live Java processes without requiring a restart.
  • Dynamic Agent Loading - Enables the injection of monitoring logic into live Java processes using the Java Attach API.
  • Java Instrumentation Frameworks - Provides a system for capturing method execution timing, exceptions, and argument values at function entry and exit points.
  • Dynamic Probes - Implements a mechanism for executing rapid, single-line debugging commands to print data and trace stacks in real time.
  • Performance Tuning - Captures function entry/exit timing and argument values to facilitate performance tuning in running applications.
  • Dynamic Tracing Tools - Injects monitoring code into running Java virtual machines to diagnose behavior without restarting the application.
  • Dynamic Debugging Probes - The ability to execute single-line debugging commands within the product to print data, count events, and trace call stacks rapidly.
  • Execution Tracing - Records the sequence of operations and function calls to analyze performance and diagnose behavior.
  • Running Process Tracers - Attaches to already-running Java processes to capture high-resolution execution traces without requiring a restart.
  • Performance Tracing Platforms - Offers an integrated platform for recording and analyzing system-wide performance events through extensible modules.
  • Extension Permissions - Manages approval policies and permissions for third-party tracing extensions to control system resource access.
  • JVM Extension Permissions - Controls network and file system access for dynamic tracing modules to minimize security risks.
  • Reflection-Based Heap Inspection - Reads runtime values and call stacks from the Java heap using the reflection API for dynamic probes.
  • Capability-Based Security - Provides a permission system that restricts extension access to sensitive system resources like the network and file system.
  • Host-Process Isolation - Runs custom tracing plugins in isolated containers to ensure host process stability and prevent crashes.
  • Trace Event Processing Engines - Processes method entry and exit points as a stream of events for real-time analysis and performance data extraction.
  • Custom Tracing Extensions - Supports building specialized monitoring tools and external integrations using isolated modules.
  • Extension Interfaces - Provides a stable interface for developers to add custom tracing functionality and external integrations.
  • JVM Profiling Tools - Safe, dynamic tracing tool for the Java platform.

Star history

Star history chart for jbachorik/btraceStar history chart for jbachorik/btrace

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jbachorik/btrace do?

btrace is a Java dynamic tracing tool and instrumentation framework designed for real-time diagnostics. It enables the injection of monitoring code into running Java virtual machines to analyze behavior and diagnose processes without requiring an application restart.

What are the main features of jbachorik/btrace?

The main features of jbachorik/btrace are: Java Diagnostic Toolkits, Java Agents, Runtime Bytecode Instrumentation, Dynamic Agent Loading, Java Instrumentation Frameworks, Dynamic Probes, Performance Tuning, Dynamic Tracing Tools.

What are some open-source alternatives to jbachorik/btrace?

Open-source alternatives to jbachorik/btrace include: alibaba/arthas — Arthas is a Java diagnostic tool and runtime debugger designed for real-time troubleshooting of applications. It… btraceio/btrace — btrace is a JVM dynamic tracing tool and performance profiler used for injecting safe instrumentation scripts into a… jacoco/jacoco — JaCoCo is a Java code coverage tool and bytecode instrumenter that measures which parts of source code are executed… oldmanpushcart/greys-anatomy — This project is a Java runtime diagnostic tool and bytecode instrumentation framework. It provides a remote… raphw/byte-buddy — Byte Buddy is a runtime code generation and bytecode manipulation library for Java. It provides a fluent API for… tencent/matrix — Matrix is a suite of mobile application performance management and analysis tools. It provides a plugin-based…

Open-source alternatives to Btrace

Similar open-source projects, ranked by how many features they share with Btrace.
  • alibaba/arthasalibaba avatar

    alibaba/arthas

    37,367View on GitHub↗

    Arthas is a Java diagnostic tool and runtime debugger designed for real-time troubleshooting of applications. It functions as a remote diagnostics agent that allows users to inspect the runtime state of a Java process, including its heap objects and classloader hierarchies, without requiring a process restart. The project distinguishes itself through advanced bytecode manipulation capabilities, enabling live class hotswapping and the modification of bytecode in running processes. It supports in-memory source compilation and runtime bytecode decompilation to verify and update logic instantly w

    Javaagentalibabaarthas
    View on GitHub↗37,367
  • btraceio/btracebtraceio avatar

    btraceio/btrace

    5,989View on GitHub↗

    btrace is a JVM dynamic tracing tool and performance profiler used for injecting safe instrumentation scripts into a running Java Virtual Machine without requiring a process restart. It functions as a Java agent framework and a Model Context Protocol server, exposing JVM diagnostic operations and tracing tools to large language models and AI assistants. The project distinguishes itself by enabling real-time code injection and bytecode-level instrumentation via a secure binary protocol. It ensures production stability through a static safety analysis engine that blocks unstable code patterns,

    Javabtracejavajava-application
    View on GitHub↗5,989
  • jacoco/jacocojacoco avatar

    jacoco/jacoco

    4,580View on GitHub↗

    JaCoCo is a Java code coverage tool and bytecode instrumenter that measures which parts of source code are executed during tests. It functions as a runtime agent to monitor application execution on the fly or as a library for offline bytecode instrumentation, allowing it to capture execution data in environments where runtime agents are restricted. The project distinguishes itself by providing both dynamic and static instrumentation paths to track execution. It includes a runtime agent for on-the-fly monitoring and the ability to modify compiled class files before execution. It further enable

    Javabytecodecoveragegroovy
    View on GitHub↗4,580
  • oldmanpushcart/greys-anatomyoldmanpushcart avatar

    oldmanpushcart/greys-anatomy

    4,007View on GitHub↗

    This project is a Java runtime diagnostic tool and bytecode instrumentation framework. It provides a remote troubleshooting interface for inspecting live Java systems, analyzing execution traces, and monitoring method performance without requiring application restarts. The system distinguishes itself through its ability to modify Java classes at runtime to capture parameters and return values, combined with a JavaScript-based scripting engine for custom diagnostic logic. It further supports collaborative live debugging, allowing multiple users to connect to a single remote process simultaneou

    Javadiagnosisgreysjvmti
    View on GitHub↗4,007
See all 30 alternatives to Btrace→