๐Ÿ eBPF with Aya on Fedora
Tutorial Prerequisites GitHub โ†—
Home / Addenda
Part 12 2 chapters

Addenda

Optional extensions that apply the book's machinery to a special case โ€” starting with observing a homomorphic-encryption workload you deliberately cannot read.

Chapter 68

Capstone addendum: observing a homomorphic-encryption workload

A capstone extension. Homomorphic encryption lets a server compute on data it can never see โ€” which makes ordinary observability (log the inputs, trace the values) both impossible and forbidden. eBPF is the right fit precisely because it measures timing and resource behavior without touching operands. We attach uprobes to a TFHE-rs workload's operation boundaries, build a per-operation latency histogram, and surface it in Grafana โ€” observing the system while the data stays sealed.

40 minutesRead โ†’
Chapter 69

Appendix: eBPF metrics with Performance Co-Pilot (PCP)

Performance Co-Pilot is the other major metrics model โ€” pull-and-record rather than push-and-stream, host-centric, decades old, and shipped in Fedora. It has a first-class eBPF on-ramp: pmdabpf runs BPF CO-RE modules and pmdabpftrace runs bpftrace scripts, both surfaced as ordinary PCP metrics with archives, alerting, and a Grafana plugin. This appendix covers what PCP is, how it's used and extended, and how it meets eBPF โ€” and how it complements the OTLP stack the rest of the book uses.

35 minutesRead โ†’
โ† Previous part Retrospective

eBPF with Aya on Fedora

Write eBPF programs in Rust with Aya, deploy them to a Fedora 44 KVM lab, and visualize the output in Grafana via OpenTelemetry.

Tutorial

  • Outline
  • Prerequisites
  • Lab setup
  • Roadmap

Reference

  • Aya project โ†—
  • ebpf.io โ†—
  • View on GitHub โ†—
  • Issues โ†—
Open source ยท Apache 2.0 Last built 2026-07-11