# parca-dev/parca

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/parca-dev-parca).**

4,788 stars · 246 forks · TypeScript · apache-2.0

## Links

- GitHub: https://github.com/parca-dev/parca
- Homepage: https://parca.dev/
- awesome-repositories: https://awesome-repositories.com/repository/parca-dev-parca.md

## Topics

`bpf` `c` `containers` `continuous-profiling` `cpp` `ebpf` `ebpf-programs` `golang` `javascript` `kubernetes` `observability` `performance` `php` `pprof` `profiles` `profiling` `prometheus` `python` `ruby` `rust`

## Description

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.

## Tags

### Development Tools & Productivity

- [Continuous Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/continuous-profilers.md) — Continuously samples CPU and memory usage across infrastructure with automatic target discovery.
- [Zero-Instrumentation Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/continuous-profilers/zero-instrumentation-profilers.md) — Parca continuously collects CPU and memory profiles using kernel-level tracing and eBPF, with automatic target discovery and no code instrumentation required. ([source](https://www.parca.dev/))

### Part of an Awesome List

- [Debug Symbol Resolvers](https://awesome-repositories.com/f/awesome-lists/devtools/unpacking-and-deobfuscation/trace-symbol-resolvers/debug-symbol-resolvers.md) — Parca resolves raw stack traces to function names and source file lines using uploaded debugging information for accurate performance analysis. ([source](https://www.parca.dev/docs/parca))
- [pprof Profile Converters](https://awesome-repositories.com/f/awesome-lists/data/backend-as-a-service/heap-profile-importers/pprof-profile-converters.md) — Ingests and exports profiles in the standard pprof format for interoperability with existing toolchains.
- [Profile Format Ingestion](https://awesome-repositories.com/f/awesome-lists/data/backend-as-a-service/heap-profile-importers/profile-format-ingestion.md) — Parca ingests profiles in the standard pprof format, allowing interoperability with existing profiling tools and ecosystems across different programming languages. ([source](https://cdn.jsdelivr.net/gh/parca-dev/parca@main/README.md))

### Data & Databases

- [Profile Query Engines](https://awesome-repositories.com/f/data-databases/grouped-aggregations/multi-dimensional-aggregations/profile-query-engines.md) — Queries performance data by labels like service, container, or region to slice and aggregate profiles.
- [Flame Graph Generators](https://awesome-repositories.com/f/data-databases/interactive-graph-visualizers/flame-graph-generators.md) — Renders stack traces as flame graphs and icicle graphs in the browser, supporting click-to-drill-down and time-series overlay.
- [Differential](https://awesome-repositories.com/f/data-databases/interactive-graph-visualizers/flame-graph-generators/differential.md) — Parca generates a color-coded differential flame graph that highlights code paths with increased (red) or decreased (green) resource consumption between two snapshots. ([source](https://www.parca.dev/docs/concepts))
- [Profile Query Engines](https://awesome-repositories.com/f/data-databases/label-based-data-selection/profile-query-engines.md) — Selects and aggregates profiling data using multi-dimensional labels stored in a columnar database.
- [Stores](https://awesome-repositories.com/f/data-databases/parquet-scanners/parquet-data-processing/parquet-metric-queries/parquet-metric-stores/stores.md) — Stores profile samples as columnar data using Apache Arrow and Parquet, enabling fast aggregation and time-range filtering over large datasets.

### DevOps & Infrastructure

- [Profiling Server Deployments](https://awesome-repositories.com/f/devops-infrastructure/profiling-server-deployments.md) — Parca provisions a server component that receives, stores, and serves profiling data via a web interface and API for querying. ([source](https://www.parca.dev/docs/kubernetes))

### System Administration & Monitoring

- [Data Collection Agents](https://awesome-repositories.com/f/system-administration-monitoring/data-collection-agents.md) — Parca deploys agents that automatically discover and profile containers on each node, sending collected data to a central server for aggregation and analysis. ([source](https://www.parca.dev/docs/kubernetes))
- [eBPF Profilers](https://awesome-repositories.com/f/system-administration-monitoring/performance-profiling-tools/ebpf-profilers.md) — Captures stack traces from user and kernel space using eBPF without modifying application code.
- [Profiling Data Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/metric-dashboards/grafana-dashboard-configurations/profiling-data-dashboards.md) — Parca embeds continuous profiling data into Grafana dashboards for integrated monitoring and interactive exploration alongside other metrics. ([source](https://www.parca.dev/docs/grafana-plugin))

### Testing & Quality Assurance

- [eBPF Profilers](https://awesome-repositories.com/f/testing-quality-assurance/performance-profilers/ebpf-profilers.md) — Continuously collects CPU and memory profiles from production systems using eBPF kernel tracing.
- [Flame Graph Visualizers](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/execution-profilers/flame-graph-visualizers.md) — Renders interactive flame graphs and differential comparisons to highlight performance changes.
- [Profiling Target Filters](https://awesome-repositories.com/f/testing-quality-assurance/label-based-filtering/profiling-target-filters.md) — Parca configures the profiling agent to only collect data from targets that match specified Kubernetes label selectors, reducing noise. ([source](https://www.parca.dev/docs/kubernetes))

### Operating Systems & Systems Programming

- [Debug Symbol Extractors](https://awesome-repositories.com/f/operating-systems-systems-programming/debug-symbol-extractors.md) — Resolves raw memory addresses to human-readable function names and source line numbers by extracting and caching debug symbols from binaries.

### Software Engineering & Architecture

- [Profiling Metadata Stores](https://awesome-repositories.com/f/software-engineering-architecture/symbol-resolution-engines/profile-symbol-cleaners/profile-symbolizers-and-deobfuscators/profiling-metadata-stores.md) — Parca stores function names, file line numbers, and mapping details in a deduplicated key-value store for efficient symbol resolution during analysis. ([source](https://www.parca.dev/docs/storage))

### User Interface & Experience

- [Profiling View State Encoders](https://awesome-repositories.com/f/user-interface-experience/url-state-synchronization/profiling-view-state-encoders.md) — Encodes current flame graph view parameters, label filters, and time range into a stable URL for sharing exact profiling views.
