Parca

parca.dev ↗

Collect continuous CPU and memory profiles, then compare code paths over time.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about Parca

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the Parca homepage

What it does

Parca is an open-source, self-hosted continuous profiling system built from a server, agent, and web interface. It stores profiles in the pprof format and lets developers query them across time and labels, inspect flame graphs, and compare profile snapshots. Its eBPF-based agent can discover workloads in Kubernetes or systemd without adding instrumentation to every application, making Parca useful when teams need to find code paths consuming CPU or memory in running systems.

Parca focuses on a different operational question from traces or logs: which functions are consuming CPU or memory, and how has that profile changed over time? The server stores profile data; the agent gathers it, and the web UI provides time-based queries and flame-graph views. The project accepts pprof profiles, which also gives it a path to work with profiles produced by other tools.

Get a profile store running

The official binary guide shows how to run the Parca server from a release binary or container with a configuration file. The documented example starts the web interface on port 7070 and configures Parca to scrape a profile endpoint. To collect system-wide data from other workloads, install the Parca Agent on Linux and point it at the server. Its eBPF-based profiler can discover targets in Kubernetes or systemd; teams can also send pprof-formatted profiles.

Compare before and after

A practical investigation is to select a profile type and a time interval, then inspect the resulting flame graph. If a release appears to increase CPU use, compare profiles from before and after that release or use labels to isolate the relevant version or workload. Parca's difference flame graph highlights spans that became larger or smaller, helping an engineer identify where to look in the code. These are documented workflows, not results from a deployment in this research.

Parca is self-hosted software rather than a verified hosted service in the sources reviewed here. Plan for server storage, target discovery, and symbol information needed to map samples back to source locations. The agent's binary guide specifically limits that agent to Linux, even though the server itself has releases for multiple operating systems and architectures.

Strengths

  • Keeps time-series profiling data so a team can examine CPU or memory use across periods instead of relying on a one-off profile.
  • Supports comparison flame graphs and label-based queries for locating performance changes between versions or workloads.
  • Uses pprof profiles and an eBPF agent that can discover Kubernetes or systemd targets with low-overhead collection.

Watch out for

  • The official guide says the Parca Agent binary works only on Linux; agent-based system-wide collection therefore depends on Linux targets.
  • Self-hosting Parca requires deploying and configuring the server and agent.

Best for

  • Finding CPU or memory hot paths in services that run continuously.
  • Comparing profiling data between software versions, time windows, or infrastructure labels.
  • Teams that want a self-hosted profiler compatible with pprof data.

Sources