GNU gprof vs Parca
GNU gprof
sourceware.orgParca
parca.devSide by side
| Figure | GNU gprof | Parca |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Profiling Software | 7.8 (#12) | 8.2 (#6) |
| Data collection | The profiled program writes its data to gmon.out when it exits normally. | Profiles can be pushed to Parca through gRPC or pulled from targets through HTTP. |
Plans
In their own words
GNU gprof
GNU gprof has no write-up on Specifiction yet; its figures are above.
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.