#ebpf_exporter

2024-02-28

Have you ever though "boy I love distributed tracing, but I wish I could add kernel produced spans to my traces"?

Well, now you can! I just published ebpf_exporter v2.4.0 and it can now create kernel spans that are integrated in your normal traces.

See: github.com/cloudflare/ebpf_exp

The most interesting example is producing network related spans, like TCP retransmits or SKB drops. Here's a screenshot of a whole bunch of them attached to a userspace trace.

#ebpf #ebpf_exporter #kernel

2023-12-27

It's been a while since the last ebpf_exporter release, so I cut a new one just now. Lots of changes in v2.3.0.

You can now start testing with just docker:

```
docker run --rm -it --privileged -p 9435:9435 ghcr.io/cloudflare/ebpf_exporter:v2.3.0 --config.dir=examples --config.names=timers
```

* github.com/cloudflare/ebpf_exp

#ebpf #ebpf_exporter #kernel #linux

2023-11-29

Empty ebpf getpid() tracepoint overhead: 15ns 🏎️, fentry is 24ns 🚗

Empty ebpf uprobe overhead: 1600ns 🐌

Benchmark: github.com/cloudflare/ebpf_exp

Is there a better way if I want arbitrary userspace programs to pass something to my ebpf code? Giving a ringbuf fd via some library seems convoluted.

#ebpf #ebpf_exporter

2023-10-24

New cool example for ebpf_exporter: CFS delay histogram. In addition to knowing overall CFS throttlig delay from cgroups in cpu.state, now you can have a histogram of individual throttling durations in prometheus.

* github.com/cloudflare/ebpf_exp

As a bonus, you get a bpftrace command to observe these.

#ebpf #ebpf_exporter #cgroups #cfs #bpftrace #prometheus

2023-10-16

I hacked together opentelemetry distributed tracing support for ebpf_exporter: github.com/cloudflare/ebpf_exp

So far I managed to add some block i/o tracing via tracepoints, but it's unclear how to tie this together to userspace traces, since there's no way for userspace to pass the trace id.

Are there any other kernel areas that people are interested in having integrated with distributed tracing? Sockets? Scheduling? Something else?

#ebpf_exporter #ebpf #kernel #opentelemetry #otel #otlp

2023-10-10

ebpf_exporter now comes with a docker image with examples if you couldn't be bothered to build it yourself:

* github.com/cloudflare/ebpf_exp

docker run --rm -it --privileged -p 9435:9435 ghcr.io/cloudflare/ebpf_exporter:master --config.dir=examples --config.names=timers

#ebpf #ebpf_exporter

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst