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
async-profiler avatar

async-profiler/async-profiler

0
View on GitHub↗
8,871 stars·960 forks·C++·apache-2.0·22 viewsgithub.com/async-profiler/async-profiler/releases↗

Async Profiler

Async-profiler is a sampling profiler for Java applications that tracks CPU time and stack traces across execution frames to identify performance bottlenecks. It is designed to capture profiling data without introducing timing bias.

The project provides capabilities for JVM memory analysis to locate native and heap allocation hotspots and memory leaks. It also includes system contention analysis to identify resource bottlenecks through the tracking of contended locks and hardware performance counters.

The tool converts raw profiling data into visual performance reports, including interactive flame graphs and heatmaps, to represent execution paths.

Features

  • Application Performance Profiling - Provides a sampling profiler to identify performance bottlenecks and measure execution time in Java applications.
  • Memory Allocation Tracers - Tracks heap and native memory allocations within the JVM to detect memory leaks and allocation hotspots.
  • Non-Pausing State Sampling - Implements non-blocking stack trace capture via internal JVM functions to avoid pausing application threads.
  • JVM Architecture - Integrates with the JVM architecture to resolve native method frames and access internal symbols.
  • Profiling Signal Handlers - Triggers sampling events using OS signals to ensure precise captures regardless of JVM safe-points.
  • Hardware Performance Counter Integrations - Reads low-level processor and system counters to track hardware-level execution metrics and resource contention.
  • PerfEvents Interfaces - Reads kernel-level hardware counters and CPU cycles via the Linux perf subsystem for high-precision timing.
  • Performance Reporting - Exports profiling data into interactive visual reports including flame graphs and heatmaps.
  • Performance Diagnostic Tools - Identifies resource bottlenecks by tracking contended locks and hardware performance counters.
  • Flame Graph Visualizers - Generates interactive flame graphs from sampled stack traces to visualize frequent execution paths.

Star history

Star history chart for async-profiler/async-profilerStar history chart for async-profiler/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

Frequently asked questions

What does async-profiler/async-profiler do?

Async-profiler is a sampling profiler for Java applications that tracks CPU time and stack traces across execution frames to identify performance bottlenecks. It is designed to capture profiling data without introducing timing bias.

What are the main features of async-profiler/async-profiler?

The main features of async-profiler/async-profiler are: Application Performance Profiling, Memory Allocation Tracers, Non-Pausing State Sampling, JVM Architecture, Profiling Signal Handlers, Hardware Performance Counter Integrations, PerfEvents Interfaces, Performance Reporting.

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

Open-source alternatives to async-profiler/async-profiler include: jvm-profiling-tools/async-profiler — Async-profiler is a suite of performance tools designed for sampling Java runtimes, tracking memory allocations, and… dotnet/benchmarkdotnet — BenchmarkDotNet is a library and tool suite for measuring the execution time and memory allocation of .NET code. It… mstange/samply — Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool… nswbmw/node-in-debugging — This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and… uber-archive/go-torch — go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into… bloomberg/memray — Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++…

Open-source alternatives to Async Profiler

Similar open-source projects, ranked by how many features they share with Async Profiler.
  • jvm-profiling-tools/async-profilerjvm-profiling-tools avatar

    jvm-profiling-tools/async-profiler

    9,063View on GitHub↗

    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, in

    C++
    View on GitHub↗9,063
  • dotnet/benchmarkdotnetdotnet avatar

    dotnet/BenchmarkDotNet

    11,428View on GitHub↗

    BenchmarkDotNet is a library and tool suite for measuring the execution time and memory allocation of .NET code. It utilizes statistical sampling and warm-up iterations to determine the stability and precise execution speed of specific methods. The project provides a JIT disassembly viewer to inspect processor disassembly and analyze how the compiler executes code paths. It includes a memory allocation profiler that tracks managed and native memory traffic to identify efficiency bottlenecks. Additionally, a runtime performance comparator allows the same benchmarks to be executed across differ

    C#benchmarkbenchmarkingc-sharp
    View on GitHub↗11,428
  • mstange/samplymstange avatar

    mstange/samply

    4,263View on GitHub↗

    Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool for recording process stack traces at regular intervals and a visual interface for analyzing the resulting execution data. The system includes a debug symbol resolver that maps raw memory addresses to human-readable function names using local or remote symbol information. It transforms recorded execution data into flame graphs and timelines to pinpoint function-level hotspots. The tool provides capabilities for CPU execution recording, stack unwinding, and symbol resolution a

    Rust
    View on GitHub↗4,263
  • 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
See all 30 alternatives to Async Profiler→