FREEDOM251

Freedom251 › Continuous Profiling Tools

OpenTelemetry eBPF Profiler

Free plan LinuxSelf-hosted

Visit OpenTelemetry eBPF Profiler Alternatives

OpenTelemetry eBPF Profiler's own site

What OpenTelemetry eBPF Profiler is

OpenTelemetry eBPF Profiler is a free, open-source profiler for Linux systems, deployed on infrastructure you host. It uses eBPF to profile across processes and languages, with stack traces that can extend from kernel space through system libraries into high-level runtimes. It also captures native inline frames. Supported languages include C/C++, Rust, Zig, Go, HotSpot JVM, Python, Ruby, PHP, Node.js, V8, Perl, Erlang and .NET.

Profiling does not require agents or libraries inside the processes being observed. Supported runtimes can be unwound in their default configurations without instrumentation, runtime reconfiguration, or interpreter and VM restarts. The project reports tested upper limits of 1% CPU and 250 MB of memory, with typical use well below those ceilings. The supported deployment path is as a receiver in the OpenTelemetry Collector. Pyroscope is named as a database that accepts OpenTelemetry profiling data, while mature production-ready backends have yet to emerge. The profiler implements the Alpha OpenTelemetry Profiles signal; its implementation is functional but still evolving. It supports amd64 and arm64 builds. Recent commits may require Linux kernel 5.10 or later.

Who it suits

It suits teams that need whole-system, cross-language profiling on Linux and want to avoid injecting agents into profiled processes. It is also relevant to OpenTelemetry Collector users who can work with an evolving Profiles signal and backend options.

What it does well

  • Profiles native code and many language runtimes.
  • Stack traces span kernel, system libraries, and high-level languages.
  • Does not load agents or libraries into profiled processes.
  • No runtime instrumentation or interpreter and VM restarts required.
  • Project reports tested ceilings of 1% CPU and 250 MB memory.
  • Free and open source under Apache 2.0 and GPL 2.0 licenses.

What to know first

  • Linux-only; macOS and Windows require a Linux VM.
  • Recent commits may require Linux kernel 5.10 or later.
  • Standalone binaries are unsupported and unsuitable for production.
  • The Profiles signal implementation is still evolving.

Limits

The project is Linux-only, and recent commits may require kernel 5.10 or newer. The supported deployment path is the OpenTelemetry Collector receiver; standalone agent and local receiver binaries are unsupported and unsuitable for production. The Alpha Profiles signal implementation is functional but evolving, and mature production-ready backends have yet to emerge.

Getting started

  1. Open the project website at https://github.com/open-telemetry/opentelemetry-ebpf-profiler.
  2. Use a Linux environment; builds are provided for amd64 and arm64.
  3. Plan to deploy it as a receiver in the OpenTelemetry Collector.
  4. Consider Pyroscope as a named database option for ingesting OpenTelemetry profiling data.
  5. Use the project’s private vulnerability reporting channel for security reports.

Verdict

Choose it if you need self-hosted, whole-system Linux profiling across native code and multiple runtimes without modifying the profiled applications. Look elsewhere if you require a supported standalone agent, a mature production-ready backend, or native macOS or Windows operation.

Questions

Is OpenTelemetry eBPF Profiler free?

Yes. It is free and open source. The main project is licensed under Apache License 2.0, and its eBPF source code under GPL 2.0.

Which operating systems and architectures does it support?

It is Linux-only, with provided build targets for amd64 and arm64. macOS and Windows users need a Linux VM to build and run the agent.

Which languages can it profile?

It supports C/C++, Rust, Zig, Go, HotSpot JVM, Python, Ruby, PHP, Node.js, V8, Perl, Erlang and .NET.

How is it meant to be deployed?

The supported configuration is as a receiver in the OpenTelemetry Collector. Standalone profiling-agent and local receiver binaries are unsupported and not suitable for production deployment.

Can it send profiles to a backend?

Pyroscope is named as an open-source database that natively ingests OpenTelemetry profiling data. The project says mature production-ready backends have yet to emerge.

Does profiling change the profiled applications?

It does not require loading agents or libraries into profiled processes. Supported language unwinding does not require reconfiguration, instrumentation, or interpreter and VM restarts.

Facts from OpenTelemetry eBPF Profiler's own pages

Architecture
The project supports amd64 and arm64 builds, and says macOS and Windows users need a Linux VM to build and run the agent. · github.com, 4 Oct 2026
Architecture support
The project supports ARM64 unwinders and says its provided build targets support amd64 and arm64. · github.com, 4 Oct 2026
Backend integration
The README names Pyroscope as an open-source database that natively supports ingesting OpenTelemetry profiling data. · github.com, 4 Oct 2026
Backends
The README names Pyroscope as an open-source database that natively supports ingesting OpenTelemetry profiling data, and says mature production-ready backends have yet to emerge. · github.com, 4 Oct 2026
Collector integration
The project says its profiler is integrated into the OpenTelemetry Collector as a receiver and identifies that configuration as the supported path going forward. · github.com, 4 Oct 2026
Community and support
The project invites bug reports, feature requests, documentation improvements, and code contributions, and directs discussion to the #otel-profiles channel on CNCF Slack. · github.com, 4 Oct 2026
Development backend limitation
The README says devfiler is for testing, experimentation and development, and should not be used as a production backend. · github.com, 4 Oct 2026
Development binaries
The standalone agent and local Collector receiver binaries are described as unsupported, subject to removal, and unsuitable for production deployment. · github.com, 4 Oct 2026
Languages
It supports native code including C/C++, Rust, Zig and Go, as well as Hotspot JVM, Python, Ruby, PHP, Node.js, V8, Perl, Erlang and .NET. · github.com, 4 Oct 2026
License
The project is licensed under Apache License 2.0, and its eBPF source code is licensed under GPL 2.0. · github.com, 4 Oct 2026
Linux requirement
The profiler is Linux-only; recent commits may require Linux kernel 5.10 or later, while earlier commits supported 5.4 or 4.19. · github.com, 4 Oct 2026
Low overhead
The project says its tested upper limits are 1% CPU and 250 MB of memory, and that the agent typically stays well below those limits. · github.com, 4 Oct 2026
No in-process agent
Profiling does not require loading agents or libraries into the processes being profiled. · github.com, 4 Oct 2026
Non-intrusive profiling
The profiler does not need to load agents or libraries into profiled processes or require interpreter and VM reconfiguration, instrumentation, or restarts. · github.com, 4 Oct 2026
No runtime changes
The agent supports unwinding supported languages in their default configuration without reconfiguration, instrumentation or interpreter or VM restarts. · github.com, 4 Oct 2026
OpenTelemetry integration
The profiler is integrated into the OpenTelemetry Collector as a receiver, which the project identifies as the supported configuration going forward. · github.com, 4 Oct 2026
Profile format
It implements the Alpha OpenTelemetry Profiles signal. · github.com, 4 Oct 2026
Profiling signal status
The agent has a functional but work-in-progress, evolving implementation of the recently released Alpha OpenTelemetry Profiles signal. · github.com, 4 Oct 2026
Purpose
It is a whole-system, cross-language profiler for Linux that uses eBPF. · github.com, 4 Oct 2026
Security reporting
The security policy asks reporters not to use public GitHub issues and recommends the repository’s private vulnerability reporting channel. · github.com, 4 Oct 2026
Stack traces
It supports mixed stack traces from kernel space through system libraries into high-level languages, and native inline frames. · github.com, 4 Oct 2026
Standalone binary limitation
The standalone profiling agent and local profiling-receiver binaries are described as unsupported, potentially removable, and unsuitable for production deployment. · github.com, 4 Oct 2026
Support and community
The project says it is developed by the OpenTelemetry Profiling SIG and directs questions and discussion to the #otel-profiles channel on CNCF Slack. · github.com, 4 Oct 2026
System requirements
The profiler is Linux-only; later commits may require Linux kernel 5.10 or newer, while earlier commits supported kernels down to 5.4 or 4.19. · github.com, 4 Oct 2026

Where OpenTelemetry eBPF Profiler stands on Freedom251

Look at these too