ConfigsApr 20, 2026·3 min read

Parca — Continuous Profiling for Infrastructure Optimization

Parca is an open-source continuous profiling platform that collects CPU, memory, and other profiles from production applications with minimal overhead, helping teams identify performance bottlenecks and reduce infrastructure costs.

Introduction

Parca is a continuous profiling project developed by Polar Signals that collects profiling data from applications over time, storing it efficiently for analysis. Unlike one-off profiling sessions, continuous profiling captures performance data in production around the clock, allowing engineers to correlate performance regressions with deployments, find the exact functions consuming resources, and make data-driven optimization decisions.

What Parca Does

  • Collects CPU, memory allocation, goroutine, and mutex profiles from running applications continuously
  • Stores profiling data with columnar compression for efficient long-term retention
  • Provides a web UI for visualizing flamegraphs, icicle charts, and differential profiles
  • Supports comparing profiles across time ranges to identify performance regressions
  • Works with eBPF-based agents for profiling any process without code changes

Architecture Overview

Parca consists of two main components: the Parca server and the Parca Agent. The agent runs on each node and uses eBPF to collect CPU profiles from all running processes without requiring instrumentation or restarts. Profiles are sent to the server via gRPC using the OpenTelemetry profiling protocol. The server stores profile data in FrostDB, a custom columnar database optimized for profiling data that uses Apache Parquet for storage. The web UI queries the server API to render interactive flamegraphs and time-series views of resource usage.

Self-Hosting & Configuration

  • Deploy the server as a single binary or container with a YAML configuration file
  • Run parca-agent as a DaemonSet on Kubernetes or a systemd service on bare metal
  • Configure scrape targets using Prometheus-style service discovery for pull-based collection
  • Set retention policies and storage paths in the server configuration
  • Enable TLS and authentication for secure multi-tenant deployments

Key Features

  • eBPF-based profiling requiring zero code changes or application restarts
  • Differential flamegraphs comparing two time periods to pinpoint regressions
  • Low overhead (typically under 1% CPU) suitable for always-on production use
  • Source code integration showing line-level resource attribution
  • OpenTelemetry profiling protocol support for vendor-neutral data collection

Comparison with Similar Tools

  • Grafana Pyroscope — similar continuous profiling platform with different storage backend and Grafana ecosystem integration
  • async-profiler — Java-focused sampling profiler without continuous collection or centralized storage
  • perf — Linux kernel profiler for one-off analysis, not continuous production monitoring
  • Go pprof — built-in Go profiler for on-demand profiles, lacks continuous collection and long-term storage
  • Datadog Continuous Profiler — managed commercial offering with broader APM integration

FAQ

Q: How much overhead does continuous profiling add? A: The eBPF-based Parca Agent typically adds less than 1% CPU overhead and minimal memory usage, making it safe for production workloads.

Q: Does Parca require application code changes? A: No. The eBPF agent profiles processes at the kernel level. For richer data (allocations, goroutines), applications can expose pprof endpoints that Parca scrapes.

Q: What languages does Parca support? A: The eBPF agent can profile any compiled language (Go, Rust, C/C++, Java). Interpreted languages require runtime-specific support or pprof-compatible endpoints.

Q: How long can I retain profiling data? A: Parca uses columnar storage with efficient compression. Retention depends on storage capacity — production deployments commonly store weeks to months of data.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets