Parca is an always-on continuous profiling platform that captures CPU and memory usage from running applications without any code modifications. It uses eBPF kernel-level tracing to automatically discover and sample stack traces across infrastructure, and provides a web-based flame graph dashboard for interactive performance analysis. Its label-based query engine lets users slice and aggregate profiling data across dimensions such as service, container, or region, using a Prometheus-style selector syntax.
Unlike basic profilers, Parca stores profile samples in a columnar format using Apache Arrow and Parquet, enabling fast aggregation and time-range filtering over large datasets. It supports differential flame graph comparison between two snapshots, with color-coded highlights showing where resource consumption increased or decreased. The platform integrates directly into Grafana dashboards for unified monitoring, and encodes the current analysis view—including flame graph parameters, label filters, and time range—into a stable, shareable URL.
Parca deploys profiling agents that automatically discover and profile containers on each node, sending data to a central server for storage and querying. It ingests profiles in the standard pprof format for interoperability with existing toolchains, and manages debug information through binary build ID extraction, local symbol extraction, and remote upload for symbol resolution. Multi-dimensional label-based queries and automated metadata storage complete the data management surface, making it possible to reconstruct function names and source locations from raw stack traces.