Freedom251 › Continuous Profiling Tools
Parca

What Parca is
Parca is an open-source, self-hosted system for collecting, storing, querying, and visualizing CPU, memory, I/O, and other profiles over time. Parca Agent uses eBPF to capture user-space and kernel-space stack traces. Profiles can be sent over gRPC or collected from targets over HTTP, and Parca accepts valid pprof-formatted profiles. Its query tools include label selectors, a profiling-specific query engine, and comparisons across dimensions such as processes or code versions. The web interface can visualize profiles with Icicle Graphs, and a Grafana plugin can display stored profiles. Automatic profiling covers languages including C, C++, Go, Rust, .NET, Java, Node.js, PHP, Ruby, and Python, among others. Installation options include binaries, containers, Kubernetes, and Snaps. The Agent requires Linux kernel version 4.18 or newer and privileged-user permissions to load eBPF programs. Parca says it receives profiling statistics and function-name metadata, not users' binaries or source code. Its components are available under the Apache 2 License. Polar Signals offers paid support and identifies its Polar Signals Cloud as the only commercial provider of Parca-compatible APIs.
Who it suits
Parca suits developers and operators who can self-host profiling infrastructure and need to query profiles over time. Its Linux Agent requires kernel 4.18 or newer and privileged access to load eBPF programs.
What it does well
- Open-source components use the Apache 2 License.
- Accepts valid pprof-formatted profiles.
- Supports profile collection over gRPC and HTTP.
- Web UI visualizes profiles with Icicle Graphs.
- Grafana plugin can display stored profiles.
What to know first
- Agent requires Linux kernel 4.18 or newer.
- Agent needs privileged access to load eBPF programs.
- Paid support is offered by Polar Signals.
Limits
The Parca Open Source plan is free. Parca Agent requires Linux kernel 4.18 or newer and privileged-user permissions to load eBPF programs.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Parca Open Source | Open source; components available under Apache 2 License | Free |
As parca.dev lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Visit https://www.parca.dev/.
- Choose an installation route: binaries, containers, Kubernetes, or Snaps.
- Run Parca Agent on Linux kernel 4.18 or newer with the access needed to load eBPF programs.
- Push profiles through gRPC or configure Parca to pull them from targets over HTTP.
- Query and visualize profiles in Parca’s web UI, or use the Grafana plugin.
Parca is an open-source, self-hosted continuous profiler for teams that can run Linux infrastructure and want long-term control of performance data. It is most convincing when always-on sampling, multi-language coverage, and queryable history matter more than a managed service.
Overview
Parca gathers CPU, memory, I/O, and other statistical profiles, retains them in built-in storage, and makes them available for analysis over time. Its sampling model is designed for continuous production profiling rather than occasional diagnostics. The project reports Agent usage below 1% CPU and below 200 MB of memory, with actual overhead dependent on how many targets are profiled.
Collection is not tied to one ingestion path. Profiles can be sent over gRPC, retrieved from targets over HTTP, or supplied in any valid pprof format. That makes Parca practical for consolidating profiles from existing producers as well as from its own Agent.
Key features
eBPF whole-system profiling
Parca Agent uses eBPF to capture both user-space and kernel-space stack traces. Automatic profiling covers C, C++, Go, Rust, .NET, Deno, Erlang, Java, Julia, Node.js, Wasmtime, PHP, Ruby, and Python. This breadth suits mixed-language services, while the Agent requires Linux kernel 4.18 or newer plus kernel access and privileged permissions to load eBPF programs. Restricted containers and hosts that cannot grant those permissions are poor candidates.
Queries and comparisons
Label selectors and a profiling-specific query engine let teams filter profile data and compare dimensions such as processes or code versions. The multi-dimensional model is useful for finding regressions across deployments instead of inspecting one capture at a time.
Visualization and integrations
The web interface renders profiles with Icicle Graphs, an upside-down Flame Graph presentation, and supports interactive querying. A Grafana plugin can display profiles stored in Parca, which helps teams place profiling alongside existing dashboards. Parca receives profiling statistics and function-name metadata rather than application binaries or source code.
Deployment and licensing
Installation is documented for binaries, containers, Kubernetes, and Snaps. Components are Apache 2-licensed, and Polar Signals offers paid support. The project is self-hosted, so the team running it remains responsible for deployment, storage, upgrades, and access controls.
Pricing
Parca Open Source — free. This is the open-source edition, with components under the Apache 2 License and a self-hosted deployment model. It is the natural fit for engineering teams that can operate the service themselves and want unrestricted control of their profiling stack. There are no paid tiers, seat charges, published quotas, or trial terms in this plan; commercial support is available separately from Polar Signals.
Platforms
Parca is offered through an API and web interface, runs self-hosted, and targets Linux for its Agent. The documented deployment options include binaries, containers, Kubernetes, and Snaps. The Agent’s kernel-version and privilege requirements are material platform constraints, not optional configuration.
Who it's for
Choose Parca if your team needs continuous CPU and memory profiling across production services, operates Linux hosts, and values keeping profile data in its own environment. It is particularly suitable for polyglot systems and organizations that already use Grafana or can feed pprof profiles from other tools.
Look elsewhere if you need a hosted service with no infrastructure ownership, cannot provide privileged eBPF access, or primarily profile a single local runtime. Parca’s flexibility rewards platform expertise but does not remove the operational work of running a self-hosted system.
Pros and cons
Pros
- Continuous, low-overhead sampling: reported usage below 1% CPU and 200 MB memory can make production-wide profiling viable.
- Broad runtime coverage: automatic profiling spans native, managed, and scripting languages.
- Flexible ingestion: gRPC, HTTP pull, and pprof support accommodate existing profile pipelines.
- Useful comparative analysis: labels and cross-dimension queries help isolate process and version differences.
- Open deployment: Apache 2 licensing and self-hosting avoid mandatory vendor storage.
Cons
- Privileged Linux agent: kernel access, Linux 4.18+, and permissions to load eBPF programs exclude some locked-down environments.
- Operational responsibility: self-hosting leaves installation, capacity, maintenance, and security to your team.
- Support costs extra: paid Polar Signals support is separate from the free software.
Alternatives
Grafana Cloud Application Observability is the better choice when you want a hosted, cross-platform service with an always-free allowance of 2,232 host hours and a usage-based Pro tier.
Scalene fits developers seeking a free, open-source Python profiler installed through pip or conda rather than a multi-service profiling backend.
YourKit .NET Profiler is aimed at teams needing a paid .NET-focused profiler with desktop platform support and licensing options.
Javadoc is a documentation generator included with JDK 25, not a substitute for continuous application profiling.
Node.js --prof is the focused option for generating V8 profiler output from Node.js applications.
py-spy suits Python-only sampling, with an MIT-licensed command-line profiler for Linux, macOS, and Windows.
Pyroscope is preferable when you want a managed freemium service, including a free tier with 50 GB monthly ingestion and 14-day retention.
Valgrind is a free GPL tool for Linux, macOS, and Android when deep instrumentation is worth its documented slowdown and higher memory use.
For broader comparisons, browse Profiling Software, Continuous Profiling Tools, and eBPF Observability Tools.
Verdict
Parca is a strong recommendation for technically capable teams that want continuous, low-overhead, self-hosted profiling with rich labels, comparisons, and Grafana access. Choose another tool when Linux privileges, infrastructure ownership, or a managed commercial experience are non-negotiable.
Verdict
Parca provides self-hosted profile collection and query tools, with web and Grafana visualization options. Before using its Agent, account for the Linux kernel and privileged-access requirements.
Questions
How much does Parca cost?
The Parca Open Source plan is free. The project also offers paid support through Polar Signals.
Is Parca open source?
Yes. Parca’s components are available under the Apache 2 License.
Which platforms does Parca support?
The listed platforms are API, Linux, self-hosted, and web. Parca Agent requires Linux kernel version 4.18 or newer.
Which languages can it profile automatically?
The listed languages include C, C++, Go, Rust, .NET, Java, Node.js, PHP, Ruby, Python, Deno, Erlang, Julia, Wasmtime, and Perl.
How does profile data get into Parca?
Profiles can be pushed to Parca over gRPC or pulled from targets over HTTP. Parca accepts valid pprof-formatted profiles.
Who makes Parca?
Polar Signals says it was founded in 2020 and offers paid support for Parca’s open-source project.
Facts from Parca's own pages
- Agent
- Parca Agent is an eBPF-based whole-system profiler. · parca.dev, 7 Oct 2026
- Analysis
- Parca supports label-selector queries, a profiling-specific query engine, and comparisons across label dimensions such as processes or code versions. · parca.dev, 7 Oct 2026
- Commercial API
- The project identifies Polar Signals as the only commercial provider of Parca-compatible APIs, through Polar Signals Cloud. · parca.dev, 7 Oct 2026
- Data collection
- Profiles can be pushed to Parca through gRPC or pulled from targets through HTTP. · parca.dev, 7 Oct 2026
- Data handling
- Parca says it receives profiling statistics and function-name metadata, not users’ binaries or source code. · parca.dev, 7 Oct 2026
- Deployment
- The project documents installation using binaries, containers, Kubernetes, and Snaps. · parca.dev, 7 Oct 2026
- Features
- Features include a multi-dimensional data model, label-selector queries, a profiling-specific query engine, built-in storage, and support for pushing and pulling profiles. · parca.dev, 7 Oct 2026
- Grafana
- Profiles stored in Parca can be visualized using the Grafana plugin. · parca.dev, 7 Oct 2026
- Integration
- A Grafana plugin can visualize profiles stored in Parca. · parca.dev, 7 Oct 2026
- Languages
- The agent’s automatic profiling supports languages including C, C++, Rust, Go, Ruby, Node.js, Python, Java, .NET, Perl, and PHP. · parca.dev, 7 Oct 2026
- Linux requirement
- The quick start says the Parca Agent binary works only on Linux. · parca.dev, 7 Oct 2026
- Maker
- Polar Signals says it was founded in 2020. · polarsignals.com, 7 Oct 2026
- Open source
- Parca’s components are available under the Apache 2 License. · parca.dev, 7 Oct 2026
- Overhead
- The FAQ reports observed Agent overhead of less than 1% CPU and less than 200 Mb memory, depending on the number of actively profiled targets. · parca.dev, 7 Oct 2026
- Product
- Parca continuously collects, stores, and makes CPU, memory, I/O, and other profiles available for querying over time. · parca.dev, 7 Oct 2026
- Profiler
- Parca Agent uses eBPF to capture user-space and kernel-space stack traces with low overhead. · parca.dev, 7 Oct 2026
- Profiling
- Parca focuses on sampling profiling, which the project says can run continuously in production with very little overhead. · parca.dev, 7 Oct 2026
- Security
- The project says the Agent source is open source, it is written in Go, and its binaries and container images are fully reproducible; the Agent needs privileged access to load eBPF programs. · parca.dev, 7 Oct 2026
- Support
- Polar Signals offers paid support for users of Parca’s open-source project. · parca.dev, 7 Oct 2026
- Supported formats
- Parca supports any valid pprof-formatted profile. · parca.dev, 7 Oct 2026
- Visualization
- Parca’s web UI can query profiles and visualize them using Icicle Graphs, described as upside-down Flame Graphs. · parca.dev, 7 Oct 2026
Where Parca stands on Freedom251
- Continuous Profiling Tools#10 of 30
- Profiling Software#10 of 29
- Runtime Monitoring Software#24 of 56
- eBPF Observability Tools#15 of 29
