Observability Wiki
Open source

async-profiler

A low-overhead sampling profiler for the JVM, commonly used as the collection agent feeding continuous profiling backends.

Last updated

async-profiler is a low-overhead sampling profiler for Java and other JVM-based languages, capable of capturing CPU, allocation, lock contention, and wall-clock profiles without the safepoint bias that affects older JVM profiling tools. It works by sampling using perf_events on Linux or a native JVM API, rather than relying solely on instrumentation.

Rather than being a standalone dashboard, it’s most often used as the collection agent underneath a continuous profiling backend — tools like Grafana Pyroscope and several commercial profilers use async-profiler (or a fork of it) internally to capture JVM profiles.

Visit the project’s GitHub repository for build instructions and supported profiling modes.

Visit official site →