lest / prometheus-rpm

Prometheus RPM Packages
Apache License 2.0
249 stars 106 forks source link

Update ebpf_exporter from 1.2.5 to 2.4.0 #917

Open prometheus-rpm-bot opened 8 months ago

prometheus-rpm-bot commented 8 months ago

https://github.com/cloudflare/ebpf_exporter/releases/tag/v2.4.0 Release notes:

This is a big release that comes with a major new feature: Distributed Tracing via OpenTelemetry (#297).

You can find the full documentation in [./tracing](https://github.com/cloudflare/ebpf_exporter/tree/master/tracing#readme).

As a quick demo, you could run a demo locally with a provided Docker image:

1. Run Jaeger `all-in-one` to provide an OpenTelemetry sink and UI:

docker run --rm -it --net host jaegertracing/all-in-one:1.54.0


2. Open Jaeger UI: [http://localhost:16686/](http://localhost:16686/).

3. Build tracing demos from the root of the repo:

make tracing-demos


4. Run `ebpf_exporter` with a `sock-trace` example from the root of the repo:

docker run --rm -it --privileged --net host -e OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 -v $(pwd)/tracing:/tracing ghcr.io/cloudflare/ebpf_exporter:v2.4.0 --config.dir=examples --config.names=sock-trace


5. Run the demo:

./tracing/demos/sock/demo


6. Refresh the Jaeger UI and select `demo` as the service, click "Find Traces".

7. Observe a trace that includes both userspace demo component produced spans and kernel spans produced with `ebpf_exporter`:

<img width="1552" alt="image" src="https://github.com/cloudflare/ebpf_exporter/assets/89186/37d9d4a9-6764-4b0c-8cfc-343f9546fde5">

<img width="1552" alt="image" src="https://github.com/cloudflare/ebpf_exporter/assets/89186/3f342237-a36c-4c2e-92b4-0d6cdb2a43b6">

We have more examples bundled, please see [the docs](https://github.com/cloudflare/ebpf_exporter/tree/master/tracing#readme).

Tracing support required us to take a few dependencies that needed a newer Go version, so we bumped the build requirement from go1.18 to go1.20.

Other changes:

* Bumped dependencies to latest (#347, #348, #353, #354)
* Updated `softirq-latency-net-rx` example (#349)
* Modernized eBPF description (#357)