Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Profiling Software
  3. async-profiler

async-profiler

What it is

async-profiler is a free sampling profiler for Java that is designed to keep overhead low and avoid safepoint bias. It works with OpenJDK and other Java runtimes based on the HotSpot JVM. Its stack traces can include non-Java threads along with native and kernel frames. Profiling targets include CPU time, Java-heap and native-memory allocations, memory leaks, contended locks, and hardware or software performance counters. Documented modes cover CPU, allocation, wall-clock, Java-method, and multiple-event profiling. Results can be saved as collapsed stacks, flame graphs, HTML tree views, or text, and an interactive Flame Graph can be viewed in a browser. Official builds are maintained for Linux and macOS on x64 and arm64. A Java API is available as a Maven dependency, and IntelliJ IDEA exposes the profiler through its 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 later or Clang 7.0.0 or later, static libstdc++, and JDK 11 or later.

For and against

For

  • Profiles CPU, allocation, wall-clock, and Java-method activity.
  • Stack traces can include native and kernel frames.
  • Offers flame graph, HTML tree, collapsed-stack, and text outputs.
  • Official builds are maintained for Linux and macOS.
  • Can profile Java processes in Docker or LXC.

Against

  • Official builds are listed for Linux and macOS only.
  • Building requires GCC 7.5.0+ or Clang 7.0.0+, and JDK 11+.
  • Nightly binaries for previous commits are retained for 30 days.

The verdict

async-profiler covers Java and native execution details and provides several profiling modes and output formats. Check its supported build platforms and build requirements if you need to compile it yourself.

Who it suits

async-profiler suits Java developers who need to inspect CPU, memory, locks, or performance counters on HotSpot-based runtimes. It may also fit teams profiling Java processes in Docker or LXC containers.

Plans and prices

Community open-source

Free

Apache License 2.0 · Linux and macOS binaries

Every plan, in full

On the record

Build requirements
Building requires make, GCC 7.5.0+ or Clang 7.0.0+, static libstdc++, and JDK 11+.github.com · read 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 · read 1 Oct 2026
IDE integration
IntelliJ IDEA bundles async-profiler and exposes it through the Java Profiler settings.github.com · read 1 Oct 2026
Java integration
A Java API is published to Maven Central and can be used as a Maven dependency.github.com · read 1 Oct 2026
Native visibility
It monitors non-Java threads and shows native and kernel frames in stack traces.github.com · read 1 Oct 2026
Nightly retention
Nightly binaries for previous commits are kept for 30 days.github.com · read 1 Oct 2026
Official builds
Officially maintained builds are provided for Linux x64 and arm64 and macOS x64 and arm64.github.com · read 1 Oct 2026
Output
The profiler can save results as an interactive Flame Graph viewable in a browser.github.com · read 1 Oct 2026
Output formats
Supported output formats include collapsed stacks, flame graphs, HTML tree views, and text.github.com · read 1 Oct 2026
Profiling modes
The documentation lists CPU, allocation, wall-clock, Java-method, and multiple-events profiling modes.github.com · read 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 · read 1 Oct 2026
Purpose
async-profiler is a low-overhead sampling profiler for Java that avoids the safepoint bias problem.github.com · read 1 Oct 2026
Runtime support
It works with OpenJDK and other Java runtimes based on the HotSpot JVM.github.com · read 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 · read 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 · read 1 Oct 2026

Alternatives to async-profiler

Every alternative, ranked