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
jvm-profiling-tools avatar

jvm-profiling-tools/async-profiler

0
View on GitHub↗
9,063 stars·973 forks·C++·Apache-2.0·31 viewsgithub.com/async-profiler/async-profiler/releases↗

Async Profiler

Async-profiler is a suite of performance tools designed for sampling Java runtimes, tracking memory allocations, and monitoring hardware counters. It functions as a low-overhead sampling profiler for Java applications, collecting stack traces and memory allocation data without safepoint bias.

The project provides specialized utilities for generating interactive flame graphs to visualize execution hotspots in a web browser. It includes a hardware performance counter monitor to track low-level system events such as cache misses and page faults.

The toolset covers several diagnostic domains, including CPU usage profiling to identify hot methods, memory allocation tracking for heap and native leaks, and thread contention analysis to uncover synchronization bottlenecks across different system layers.

Features

  • CPU Profilers - Identifies CPU bottlenecks and hot methods in Java applications using low-overhead sampling.
  • Lock Contention Analysis - Analyzes lock contention and synchronization bottlenecks across different thread types to improve throughput.
  • Memory Allocation Tracers - Tracks heap and native memory allocations to identify leaks and high-frequency allocation sites.
  • Low-Overhead System Profilers - Collects stack traces with minimal resource usage to identify bottlenecks in native and managed code.
  • Native Library Injections - Loads as a dynamic library into a running process to intercept execution and monitor memory.
  • Thread Signal Deliveries - Uses Unix signals to trigger stack trace collection across threads to avoid safepoint bias.
  • Java Application Profilers - Samples CPU and heap usage of running Java processes to collect stack traces and track memory allocations.
  • JVM Diagnostics Tools - Provides a performance diagnostic utility using HotSpot specific APIs to monitor CPU usage and thread contention.
  • Internal Symbol Resolution - Interacts directly with JVM internal symbols to accurately resolve both native and managed stack frames.
  • Statistical Profilers - Collects stack traces and memory allocations without safepoint bias using statistical sampling.
  • Flame Graph Generators - Transforms profiling data into interactive flame graphs to identify performance bottlenecks in a browser.
  • Hardware Performance Counter Integrations - Reads low-level CPU performance monitoring counters to track cache misses and page faults.
  • Sampling Event Buffers - Collects profiling events into per-thread buffers to minimize synchronization overhead during high-frequency sampling.
  • Hardware Performance Monitoring - Tracks cache misses and page faults using hardware and software counters.
  • Lock Contention Analyzers - Identifies contended locks to uncover synchronization bottlenecks across various thread types and system layers.
  • Flame Graph Generators - Processes raw sampled stack traces into a hierarchical format for flame graph visualization.
  • Flame Graph Visualizers - Converts raw profiling data into interactive flame graphs to pinpoint performance hotspots.
  • JVM Profiling Tools - Sampling CPU profiler using AsyncGetCallTrace.

Star history

Star history chart for jvm-profiling-tools/async-profilerStar history chart for jvm-profiling-tools/async-profiler

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

Open-source alternatives to Async Profiler

Similar open-source projects, ranked by how many features they share with Async Profiler.
  • brendangregg/flamegraphbrendangregg avatar

    brendangregg/FlameGraph

    19,307View on GitHub↗

    FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari

    Perl
    View on GitHub↗19,307
  • 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
  • nswbmw/node-in-debuggingnswbmw avatar

    nswbmw/node-in-debugging

    6,457View on GitHub↗

    This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on

    debugdebuggingguide
    View on GitHub↗6,457
  • microsoft/perfviewmicrosoft avatar

    microsoft/perfview

    4,633View on GitHub↗

    PerfView is a set of integrated profiling and tracing tools built on Windows Event Tracing for Windows (ETW), designed to diagnose CPU, memory, and ETW-based performance issues in .NET applications. It captures ETW events to analyze runtime behavior, CPU usage, and memory allocations, serving as a .NET performance profiler that measures both CPU time and garbage collection events. The tool distinguishes itself with a diff comparison engine that compares two performance traces side-by-side to highlight changes in method costs and event rates. It renders profiled call stacks as flame graphs whe

    C#dotnetdotnet-coreperformance
    View on GitHub↗4,633
See all 30 alternatives to Async Profiler→

Frequently asked questions

What does jvm-profiling-tools/async-profiler do?

Async-profiler is a suite of performance tools designed for sampling Java runtimes, tracking memory allocations, and monitoring hardware counters. It functions as a low-overhead sampling profiler for Java applications, collecting stack traces and memory allocation data without safepoint bias.

What are the main features of jvm-profiling-tools/async-profiler?

The main features of jvm-profiling-tools/async-profiler are: CPU Profilers, Lock Contention Analysis, Memory Allocation Tracers, Low-Overhead System Profilers, Native Library Injections, Thread Signal Deliveries, Java Application Profilers, JVM Diagnostics Tools.

What are some open-source alternatives to jvm-profiling-tools/async-profiler?

Open-source alternatives to jvm-profiling-tools/async-profiler include: brendangregg/flamegraph — FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software… alibaba/arthas — Arthas is a Java diagnostic tool and runtime debugger designed for real-time troubleshooting of applications. It… nswbmw/node-in-debugging — This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and… microsoft/perfview — PerfView is a set of integrated profiling and tracing tools built on Windows Event Tracing for Windows (ETW), designed… cch123/golang-notes — This project is a technical reference and a collection of internal analysis notes focused on the Go language runtime… uber-archive/go-torch — go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into…