finds.dev← search

// the find

open-telemetry/opentelemetry-ebpf-profiler

★ 3,146 · Go · Apache-2.0 · updated Jul 2026

The production-scale datacenter profiler (C/C++, Go, Rust, Python, Java, NodeJS, .NET, PHP, Ruby, Perl, ...)

A whole-system continuous profiler for Linux that uses eBPF to capture mixed-language stacktraces — kernel space through JVM or Python — with no agents injected and no debug symbols required on the host. It implements the OpenTelemetry Profiles signal and ships as a receiver for the OTel Collector. The target audience is platform/SRE teams who need production profiling across heterogeneous workloads without touching application deployments.

Uses `.eh_frame` data (not DWARF) to unwind C/C++ stacks without debug symbols on the host — this is the technically interesting part and it actually works at scale. Mixed-language stacktraces are genuine: one trace goes from kernel through libc through JVM through Java, which is something most profilers fake or skip entirely. The 1% CPU / 250MB memory overhead claims are plausible given the eBPF architecture — you're sampling in kernel space, not injecting polling threads. Language coverage without requiring restarts or reconfig of the target process is real operational value: you can attach to a running PHP or .NET process and get data immediately.

The OTel Profiles signal is still Alpha, meaning the data format can break between releases — the README openly says so. Backend options are thin: devfiler is explicitly labeled a dev/experiment tool, and Pyroscope is the only production-grade option. Several maintainers and approvers are now listed as Emeritus, and the contributor list hasn't visibly grown to replace them. The standalone `ebpf-profiler` binary is officially unsupported and may be dropped, so you're locked into the OTel Collector integration path whether you want that operational complexity or not. The dual license (Apache 2.0 for Go, GPL 2.0 for the eBPF C code) will block adoption in some commercial environments where legal reviews the dependency graph.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →