DEV.co
Open-Source Observability · parca-dev

parca-agent

Parca Agent is an always-on CPU/GPU profiler that uses eBPF to collect performance data from applications running on Linux with zero code changes. It automatically discovers targets in Kubernetes and systemd environments, samples CPU 19 times per second, and outputs profiles in pprof format for analysis.

Source: GitHub — github.com/parca-dev/parca-agent
734
GitHub stars
90
Forks
Go
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryparca-dev/parca-agent
Ownerparca-dev
Primary languageGo
LicenseApache-2.0 — OSI-approved
Stars734
Forks90
Open issues178
Latest releasev0.49.0 (2026-07-07)
Last updated2026-07-07
Sourcehttps://github.com/parca-dev/parca-agent

What parca-agent is

Go-based eBPF profiler capturing user and kernel-space stack traces from multiple languages (C, C++, Go, Rust, Python, Ruby, Java, .NET, etc.) with configurable sampling frequency. Stores data locally or sends via gRPC to a Parca server; requires Linux kernel 5.3+ with BTF support.

Quickstart

Get the parca-agent source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/parca-dev/parca-agent.gitcd parca-agent# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Kubernetes Cluster Profiling

Auto-discover and profile all containers across a Kubernetes cluster without instrumenting application code, ideal for multi-language deployments and detecting performance regressions in production.

Continuous Performance Monitoring

Low-overhead always-on sampling (19 Hz) provides baseline performance visibility across CPU and GPU workloads, enabling data-driven optimization without application restarts.

Multi-Language Observability

Profile Go, Rust, C/C++, Python, Ruby, Java, .NET and other languages from a single agent, unifying performance visibility across polyglot infrastructure.

Implementation considerations

  • Requires Linux kernel 5.3+ with BTF enabled; verify kernel configuration on target systems before deployment.
  • Memory locking via rlimit must be configured adequately for eBPF map operations; default configuration may need tuning in resource-constrained environments.
  • Agent runs as a privileged process (eBPF instrumentation requires CAP_SYS_ADMIN) on each node; Kubernetes RBAC and security policies must permit DaemonSet deployment.
  • Supports both local storage and remote gRPC shipping; choose storage model and configure bearer tokens or TLS accordingly based on security posture.
  • Language support varies; verify documentation for your application stack before deployment to ensure accurate symbol resolution and stack unwinding.

When to avoid it — and what to weigh

  • Non-Linux Environments — Requires Linux kernel 5.3+ with BTF; not suitable for Windows, macOS, or older Linux versions without BTF support.
  • Sub-millisecond Latency Analysis Required — Fixed 19 Hz sampling frequency may miss short-lived spikes; applications requiring deterministic or higher-frequency profiling should consider instrumentation-based alternatives.
  • Standalone Profiling Without Backend — Agent is designed to send data to a Parca server for analysis; local HTTP endpoints exist but time-series storage and rich querying require a backend.
  • Immediate Production Readiness for New Languages — Language support is listed as incomplete and under active development; newer or less common languages may lack full symbol resolution or call-stack accuracy.

License & commercial use

Licensed under Apache License 2.0, a permissive OSI-approved license permitting commercial use, modification, and distribution.

Apache 2.0 permits commercial use without explicit restrictions. However, verify that any proprietary modifications to the agent or downstream tools comply with license terms. No warranty or liability protection is provided under the license; assess risk tolerance accordingly.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Agent requires CAP_SYS_ADMIN (or equivalent privileged access) to run eBPF programs; restrict deployment via RBAC and pod security policies. TLS and bearer token support for remote store communication is available; enable and rotate credentials regularly. Kernel BTF and eBPF correctness depend on kernel version and configuration—older or misconfigured kernels may exhibit unpredictable behavior. No known public exploit details disclosed, but eBPF-based tools have historically been a kernel attack surface; keep kernels patched.

Alternatives to consider

Grafana Pyroscope

Language-specific instrumentation-based profiler with strong Grafana integration; better for applications already instrumented or requiring sub-second precision, but requires code changes.

Datadog Continuous Profiler

Managed SaaS profiling with multi-language support and cloud-native integrations; eliminates operational overhead but introduces vendor lock-in and per-host costs.

Linux perf + BPF tools (bcc, bpftrace)

Lower-level kernel profiling tools offering maximum flexibility; suitable for ad-hoc analysis or custom metrics, but lack auto-discovery and pprof output standardization.

Software development agency

Build on parca-agent with DEV.co software developers

Parca Agent offers low-overhead, code-free profiling for Kubernetes and systemd. Verify kernel 5.3+ BTF support, plan RBAC permissions, and start continuous profiling today.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

parca-agent FAQ

Does Parca Agent require changes to my application code?
No. It uses eBPF to capture stack traces directly from the kernel without instrumentation. Applications do not require code changes, restarts, or environment variable configuration (though some language features like Go goroutines require opt-in explicit tracing).
What is the performance overhead?
Described as 'very low overhead' due to eBPF's kernel-based sampling (19 Hz default). Exact overhead varies by system load and kernel version; documentation references design details but benchmarks are not provided in the repository.
Can I use Parca Agent without a Parca server?
Yes. Local HTTP endpoints expose profiles for retrieval, and data can be stored locally. However, time-series storage, historical analysis, and querying are designed for a Parca server backend.
What kernel versions are supported?
Linux kernel 5.3 or later with BTF (BPF Type Format) enabled. Older kernels or those without BTF support are not compatible.

Custom software development services

Need help beyond evaluating parca-agent? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source observability integrations — and maintain them long-term.

Ready to Profile Your Linux Infrastructure?

Parca Agent offers low-overhead, code-free profiling for Kubernetes and systemd. Verify kernel 5.3+ BTF support, plan RBAC permissions, and start continuous profiling today.