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·34 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 are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with Async Profiler

These projects share indexed features with Async Profiler. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
Compare all 30 related projects→

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.

Which projects share features with jvm-profiling-tools/async-profiler?

Projects with overlapping indexed features 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…