Parca is a continuous profiling system that collects and analyzes CPU and memory usage data down to the line number across infrastructure over time.
Parca addresses the problem of identifying performance bottlenecks and resource waste in production systems without requiring code instrumentation. It uses an eBPF-based profiler that automatically discovers targets across Kubernetes or systemd environments with minimal overhead, supporting multiple languages including C, C++, Rust, Go, and others. The system produces and ingests pprof-formatted profiles, enabling interoperability with existing observability tools. Profiling data is stored efficiently while retaining raw data, allowing users to slice and aggregate information across infrastructure dimensions and compare profiles across different labels such as deploys, versions, and regions.
Organizations with significant resource waste in their infrastructure should consider Parca, particularly those running containerized or systemd-managed workloads where zero-instrumentation profiling is valuable. The tool suits teams investigating performance optimization opportunities, understanding memory leaks, and troubleshooting incidents where CPU or I/O spikes cause unexpected behavior. The project's approach of collecting continuous profiling data enables statistical confidence in identifying hot paths and comparing performance across different dimensions.
The project maintains active development with regular updates to both the profiling agent and the core system. The codebase spans multiple languages, with TypeScript used for the UI and Go for the backend components, reflecting the tool's need to handle both frontend visualization and low-level infrastructure profiling. Documentation and installation guidance are actively maintained on the project's website, and the team actively solicits feedback through GitHub Discussions to inform development priorities.