awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
qunarcorp avatar

qunarcorp/bistoury

0
View on GitHub↗
4,077 星标·838 分支·Java·GPL-3.0·9 次浏览

Bistoury

Bistoury 是一个 Java 应用生产环境诊断工具,提供分布式调试控制台、性能分析器和运行时字节码操作器。它通过动态插桩和状态检查分析运行中的 Java 应用,从而实现实时应用调试和生产环境诊断。

该系统通过协调诊断连接的远程代理管理器和能够在内存中重定义类而无需重启进程的运行时字节码操作器脱颖而出。它具有一个 Web 界面,用于跨多个服务器实例捕获堆转储、线程栈和局部变量,并由代理中继通信层支持,将命令路由到远程目标。

该项目涵盖了广泛的可观测性功能,包括通过异步栈采样和火焰图进行的 CPU 性能分析、跨多台机器的分布式日志管理,以及使用条件断点的非阻塞状态捕获。它还包括通过反编译或与 Git 和 Maven 仓库集成,将运行时字节码链接回原始源代码的源码恢复工具。

该工具提供 Web 控制台和命令行界面,用于管理日志、检索系统文件以及检查系统配置和环境变量。

Features

  • Live Instrumentation - Performs dynamic instrumentation and real-time debugging on active production environments without requiring process restarts.
  • Java Diagnostic Toolkits - Provides a comprehensive suite for real-time troubleshooting of live Java applications through dynamic instrumentation and state inspection.
  • Java Application Profilers - Identifies CPU bottlenecks and hot methods in running Java applications using flame graphs and asynchronous stack trace analysis.
  • System State Snapshotting - Captures point-in-time snapshots of local variables and call stacks at specific code lines without pausing the system.
  • Non-pausing State Capture - Snapshots local variables and call stacks at breakpoints without pausing the execution of the active application.
  • CPU Profilers - Measures and visualizes CPU usage and execution time through asynchronous stack traces to find processing bottlenecks.
  • Application-to-Host Registries - Maintains mappings between logical application names, physical servers, and process IDs for distributed discovery.
  • Diagnostic Agent Management - Coordinates the mapping of applications to physical hosts and manages the lifecycle of remote diagnostic agents.
  • Dynamic Instrumentation Debugging - Inspects variable values and captures runtime state in active environments using dynamic instrumentation.
  • Proxy Routing - Routes diagnostic requests from a central console through a secure proxy layer to remote target agents.
  • Dynamic Class Redefinition - Redefines loaded classes in memory at runtime to modify application behavior without process restarts.
  • Bytecode Modification Frameworks - Compiles files in memory and redefines loaded classes using external bytecode to modify behavior without restarts.
  • Conditional Variable Captures - Triggers state captures of local variables and call stacks only when specific logical expressions evaluate to true.
  • Runtime Bytecode Instrumentation - Injects modified class data into a running JVM to monitor execution and capture state dynamically.
  • Java Bytecode Manipulation - Enables the modification of loaded Java classes and redefinition of bytecode in memory without requiring process restarts.
  • Production Diagnostics - Troubleshoots live production environments using a unified interface for system state monitoring and thread analysis.
  • Application Performance Monitoring - Tracks runtime system metrics and identifies resource bottlenecks in live Java applications.
  • Diagnostic Web Consoles - Provides a browser interface for diagnostics and logs to avoid direct server shell access.
  • Java Heap Snapshot Capturers - Captures heap dumps from running Java processes to identify memory leaks and analyze object allocations.
  • Remote Command Execution - Sends troubleshooting commands to target applications via a proxy and agent for real-time results.
  • Application State Inspection - Examines running application state and variable values using decompiled code or linked source repositories.
  • System Performance Profiling - Captures periodic snapshots of thread call stacks to identify CPU bottlenecks and generate flame graphs.
  • Method Performance Profiling - Identifies hot methods and generates flame graphs to analyze execution time and optimize application speed.
  • Distributed File Managers - Enables searching and reading files or compressed logs across multiple remote machines via a unified interface.
  • Application Configuration Inspection - Retrieves and updates system properties, environment variables, and diagnostic parameters of a running application.
  • Debugging Consoles - Provides a web-based console for real-time inspection of heap dumps, thread stacks, and variables across multiple server instances.
  • Non-disruptive Monitoring - Adds observability probes to specific methods in a running application without interrupting execution.
  • Diagnostic Source Integration - Integrates diagnostic tools with version control systems to display original source code during live analysis.
  • Runtime Analysis - Collects operational data, system properties, and machine metrics to analyze the overall health of the JVM.
  • Java Bytecode Decompilers - Converts compiled Java class files back into human-readable source code when original files are unavailable.
  • Bytecode-to-Source Mapping - Links runtime bytecode execution steps to the original source code lines for real-time debugging.
  • Version Control Integration - Links runtime bytecode to specific Git or Maven version hashes to retrieve the original source code.
  • Thread Dumps - Generates snapshots of active JVM threads to diagnose deadlocks and concurrency issues.
  • Thread Inspection - Inspects thread stacks and analyzes state to resolve lock contention and concurrency issues.
  • Class Metadata Inspection - Analyzes loaded classes and their methods within a running process to diagnose runtime issues.
  • Classloader Hierarchy Analysis - Visualizes classloader hierarchies and method signatures by analyzing classes loaded in the runtime environment.
  • Remote Access Proxies - Routes diagnostic commands from a central console to target servers through a secure proxy isolation layer.
  • Call Stack Samplers - Provides periodic call stack snapshots to build statistical CPU profiles and generate flame graphs.
  • JMX Bean Inspections - Queries Java Management Extensions MBeans to retrieve and analyze internal runtime state and configuration.
  • Log Analysis - Provides tools to search and analyze application logs across multiple remote machines using tail and grep operations.
  • Method Call Chain Analysis - Maps the internal call path of methods and calculates the time spent at each node in the chain.
  • Method Performance Metrics - Captures quantitative execution data including method call counts, exception rates, and response times.
  • Thread Performance Analyzers - Identifies CPU-intensive threads and retains historical call stacks for performance analysis.
  • Remote Log Management - Provides a command-line interface to view and download logs from production environments.
  • Method Execution Tracking - Monitors the invocation sequence, input parameters, and return values of methods during runtime.
  • System Health Dashboards - Displays real-time request rates, response times, and thread pool status on a centralized health dashboard.
  • Unified Log Management - Provides a unified interface for searching and retrieving application logs across multiple remote servers.
  • Call Argument History - Records and stores the history of method input parameters and return values for retrospective analysis.

Star 历史

qunarcorp/bistoury 的 Star 历史图表qunarcorp/bistoury 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

qunarcorp/bistoury 是做什么的?

Bistoury 是一个 Java 应用生产环境诊断工具,提供分布式调试控制台、性能分析器和运行时字节码操作器。它通过动态插桩和状态检查分析运行中的 Java 应用,从而实现实时应用调试和生产环境诊断。

qunarcorp/bistoury 的主要功能有哪些?

qunarcorp/bistoury 的主要功能包括:Live Instrumentation, Java Diagnostic Toolkits, Java Application Profilers, System State Snapshotting, Non-pausing State Capture, CPU Profilers, Application-to-Host Registries, Diagnostic Agent Management。

qunarcorp/bistoury 有哪些开源替代品?

qunarcorp/bistoury 的开源替代品包括: oldmanpushcart/greys-anatomy — This project is a Java runtime diagnostic tool and bytecode instrumentation framework. It provides a remote… alibaba/arthas — Arthas is a Java diagnostic tool and runtime debugger designed for real-time troubleshooting of applications. It… vipshop/vjtools — vjtools is a comprehensive Java development toolset and runtime monitor designed for optimizing application… jacoco/jacoco — JaCoCo is a Java code coverage tool and bytecode instrumenter that measures which parts of source code are executed… jvm-profiling-tools/async-profiler — Async-profiler is a suite of performance tools designed for sampling Java runtimes, tracking memory allocations, and… google/perfetto — Perfetto is a platform for system-level performance tracing and analysis on Linux and Android. It combines a…

Bistoury 的开源替代方案

相似的开源项目,按与 Bistoury 的功能重合度排序。
  • oldmanpushcart/greys-anatomyoldmanpushcart 的头像

    oldmanpushcart/greys-anatomy

    4,007在 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
    在 GitHub 上查看↗4,007
  • alibaba/arthasalibaba 的头像

    alibaba/arthas

    37,367在 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
    在 GitHub 上查看↗37,367
  • vipshop/vjtoolsvipshop 的头像

    vipshop/vjtools

    7,636在 GitHub 上查看↗

    vjtools is a comprehensive Java development toolset and runtime monitor designed for optimizing application performance and ensuring codebase consistency. It provides a suite of JVM diagnostics tools, a performance profiler, and a static analysis system for enforcing coding standards. The project distinguishes itself through specialized runtime observability, including the ability to attach to processes via process ID and inject dynamic probes to monitor method calls without restarting the system. It features container-aware resource detection that reads control group files to report actual C

    Javajavajava-library
    在 GitHub 上查看↗7,636
  • jacoco/jacocojacoco 的头像

    jacoco/jacoco

    4,580在 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
    在 GitHub 上查看↗4,580
  • 查看 Bistoury 的所有 30 个替代方案→