The async-profiler homepage

async-profiler

Score6.9
Rank#5 of 29
PriceFree
Free planYes
Runs onAPI, Linux, macOS

Summary

async-profiler is a free, self-hosted sampling profiler for Java that aims to keep profiling overhead low while avoiding safepoint bias. It works with OpenJDK and other runtimes based on the HotSpot JVM, and its stack traces can include non-Java threads as well as native and kernel frames. It can profile CPU time, Java-heap and native-memory allocations, leaks, contended locks, and hardware or software performance counters. Documented modes include CPU, allocation, wall-clock, Java-method, and multiple-events profiling. Results can be saved as collapsed stacks, flame graphs, HTML tree views, or text; an interactive Flame Graph can be opened in a browser. Official builds are maintained for Linux and macOS on x64 and arm64. Developers can use its Java API as a Maven dependency, and IntelliJ IDEA includes it in Java Profiler settings. It can profile Java processes in Docker or LXC, from inside a container or from the host. Building it requires make, GCC 7.5.0+ or Clang 7.0.0+, static libstdc++, and JDK 11+.

Who it is for

It suits Java developers who need to investigate CPU, memory, thread, or lock behavior on HotSpot-based runtimes. It is also relevant to teams profiling Java processes in Docker or LXC.

What is good

  • Profiles CPU, heap, native memory, locks, and counters
  • Shows native and kernel frames in stack traces
  • Offers browser-viewable interactive Flame Graphs
  • Java API is available as a Maven dependency
  • Can profile Java processes in containers

What to know first

  • Official builds are listed for Linux and macOS only
  • Building requires JDK 11 or newer
  • Building requires GCC 7.5.0+ or Clang 7.0.0+

Verdict

async-profiler covers several Java performance targets and offers multiple output formats, including an interactive Flame Graph. Its build prerequisites are worth checking if you plan to build it yourself.

async-profiler plans and pricing

All plans
Community open-source Free No charge Apache License 2.0 · Linux and macOS binaries github.com · 1 Oct 2026

Compared on profiling software

Free plan
Yesgithub.com
Profiling modes
bothgithub.com
Supported languages
Java, C, C++github.com
CPU profiling
Yesgithub.com
Memory profiling
Yesgithub.com
Thread profiling
Yesgithub.com
Deployment model
self-hostedgithub.com

Facts

Purpose
async-profiler is a low-overhead sampling profiler for Java that avoids the safepoint bias problem.github.com · 1 Oct 2026
Runtime support
It works with OpenJDK and other Java runtimes based on the HotSpot JVM.github.com · 1 Oct 2026
Native visibility
It monitors non-Java threads and shows native and kernel frames in stack traces.github.com · 1 Oct 2026
Profiling targets
It can profile CPU time, Java-heap allocations, native-memory allocations and leaks, contended locks, and hardware or software performance counters.github.com · 1 Oct 2026
Output
The profiler can save results as an interactive Flame Graph viewable in a browser.github.com · 1 Oct 2026
Output formats
Supported output formats include collapsed stacks, flame graphs, HTML tree views, and text.github.com · 1 Oct 2026
Official builds
Officially maintained builds are provided for Linux x64 and arm64 and macOS x64 and arm64.github.com · 1 Oct 2026
Nightly retention
Nightly binaries for previous commits are kept for 30 days.github.com · 1 Oct 2026
Build requirements
Building requires make, GCC 7.5.0+ or Clang 7.0.0+, static libstdc++, and JDK 11+.github.com · 1 Oct 2026
Java integration
A Java API is published to Maven Central and can be used as a Maven dependency.github.com · 1 Oct 2026
Span API
The Span API records latency-sensitive intervals into the same JFR recording as profiling samples and is allocation-free.github.com · 1 Oct 2026
IDE integration
IntelliJ IDEA bundles async-profiler and exposes it through the Java Profiler settings.github.com · 1 Oct 2026
Container profiling
It can profile Java processes in Docker or LXC containers from inside the container or from the host system.github.com · 1 Oct 2026
Security reporting
Security issues should be reported to AWS/Amazon Security through its vulnerability reporting page instead of a public GitHub issue.github.com · 1 Oct 2026

Best async-profiler alternatives

See all 12

Where it ranks on Everything Xiaomi

Is async-profiler yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources