async-profiler vs Parca
async-profiler
github.comParca
parca.devSide by side
| Figure | async-profiler | Parca |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Profiling Software | 8.1 (#7) | 8.2 (#6) |
Plans
In their own words
async-profiler
async-profiler is a free, self-hosted sampling profiler for Java designed to keep overhead low and avoid safepoint bias. It works with OpenJDK and other runtimes based on the HotSpot JVM, and stack traces can include non-Java threads as well as native and kernel frames. It profiles CPU time, Java-heap and native-memory allocations, memory 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 viewed in a browser. Officially maintained builds are available for Linux and macOS on x64 and arm64. Developers can use the Java API as a Maven dependency, and IntelliJ IDEA includes async-profiler in 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.
Parca
Parca is a self-hosted profiling system that collects and stores CPU, memory, I/O, and other profiles for queries over time. Its eBPF-based Parca Agent captures user-space and kernel-space stack traces, while the system also accepts valid pprof-formatted profiles pushed through gRPC or pulled from targets over HTTP. Users can query by labels, compare dimensions such as processes or code versions, and view profiles in the web interface with Icicle Graphs. A Grafana plugin can display profiles stored in Parca. The agent supports automatic profiling for languages including C, C++, Go, Rust, .NET, Deno, Erlang, Java, Julia, Node.js, Wasmtime, PHP, Ruby, and Python. Installation options include binaries, containers, Kubernetes, and Snaps. Parca is open source under the Apache 2 License and is free. The agent requires Linux kernel 4.18 or newer and privileged access to load eBPF programs. Parca says it receives profiling statistics and function-name metadata, not binaries or source code.