
async-profiler
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 plansCompared 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 12Where it ranks on Everything Xiaomi
- Best Profiling Software in 2026#5 of 29
Is async-profiler yours?
Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.
Sources
- github.com/async-profiler/async-profiler· checked 1 Oct 2026
- github.com/async-profiler/async-profiler/blob/mast· checked 1 Oct 2026
- github.com/async-profiler/async-profiler/blob/mast· checked 1 Oct 2026
- github.com/async-profiler/async-profiler/blob/mast· checked 1 Oct 2026
- github.com/async-profiler/async-profiler/blob/mast· checked 1 Oct 2026
- github.com/async-profiler/async-profiler/blob/mast· checked 1 Oct 2026