Whole-system eBPF profiling agent donated to OpenTelemetry by Elastic. Profiles native, JVM, Python, Ruby, PHP, Node.js and Go code without instrumentation and exports via OTLP.
Pricing and hosting
- Pricing
- Free
- Open source
- Yes (Apache-2.0)
- Self-hosted
- Yes
- Launched
- 2024
- Status
- Active
- Website
- github.com
Plans and prices change; check the tool's own site before you decide.
What it does
Continuous profiling checklist
5 of 9 confirmed in OpenTelemetry eBPF Profiler's own documentation. The same checklist is used for every tool in Profiling.
- Always-on in production Yes
- CPU profiles Yes
- Memory or allocation profiles Not confirmed
- eBPF, no code changes Yes
- Several languages Yes
- Flame graph UI No
- Profile comparison No
- Linked to traces Not confirmed
- OpenTelemetry profiles Yes
Collection agent only (OTel Collector receiver); no UI, so viewing and comparing needs a separate backend.
Checked against: github.com
Alternatives to OpenTelemetry eBPF Profiler
Other continuous profiling tools. See all 13.
-
Amazon CodeGuru Profiler AWS profiling agent for JVM and Python apps on EC2, ECS, EKS and Lambda that finds the most expensive code paths and suggests fixes. Billed per sampling hour after a 90-day free tier. -
Blackfire Profiler and performance monitoring for PHP and Python: on-demand profiles, continuous profiling in production, and performance assertions that can run in CI. -
Coroot Open source observability that uses eBPF to build service maps and collect metrics, logs, traces and profiles without code changes, with root-cause hints. -
Elastic Observability Logs, metrics, APM traces and synthetics built on Elasticsearch and Kibana, run yourself or on Elastic Cloud.
-
Google Cloud Profiler Google Cloud statistical profiler for Go, Java, Node.js and Python services that samples CPU and heap in production and shows flame graphs in the console. Google lists no charge for it. -
Grafana Pyroscope Continuous profiling database that collects CPU, memory and other profiles from running applications so you can find hot code paths over time.
-
Parca Open source continuous profiler: an eBPF agent samples CPU stacks from every process on a host with no code changes, and the server stores profiles for querying as flame graphs over time. -
Perforator Continuous profiler open sourced by Yandex for large fleets: deploys to Kubernetes, collects low-overhead eBPF profiles cluster-wide, and can feed profile-guided optimization builds.
-
Pixie Kubernetes observability that uses eBPF to capture service traffic, metrics and CPU profiles automatically; a CNCF sandbox project. -
Polar Signals Cloud Hosted continuous profiling from the team behind Parca: send eBPF or pprof profiles and compare CPU and memory usage across deployments, priced by samples ingested.
-
zymtrace Self-hosted, cluster-wide profiler for AI training and inference fleets: continuous whole-system CPU profiling plus GPU and accelerator profiling for CUDA, ROCm and other chips. - gProfiler Open source system-wide profiler from Intel (built by Granulate) that merges several language profilers into one flame graph per host; a local backend and UI are published separately.