How eunomia-bpf/bpf-developer-tutorial works
This repository is an eBPF developer tutorial, not one integrated application: its numbered lessons and feature directories contain independent examples and tools. The principal workflow is a learner selecting an example, configuring and running its userspace and BPF components, then observing or affecting kernel, process, network, or GPU behavior. The README documents the broad capabilities; sampled code confirms the profiling event loop and fsession latency event production. Most lesson internals were not sampled, so the graph treats them as separate examples and avoids implying calls between them.
Main entry points: main.rs CPU Profiler · fsession_latency.c Slow Read Tracing · minimal.bpf.c Hello World · 2-kprobe-unlink Basic Tracing
Components 22
Getting Started
- Hello World
src/1-helloworld/minimal.bpf.c - Basic Tracing
src/2-kprobe-unlink - libbpf Bootstrap
src/11-bootstrap
Tracing and Observability
- CPU Profiler
src/12-profile/src/main.rs - Profile Events
src/12-profile/src/event.rs - Perf Sampling
src/12-profile/src/perf.rs - Syscall Support
src/12-profile/src/syscall.rs - Memory Leak Tool
src/16-memleak/memleak.c - Function Latency
src/33-funclatency/funclatency.c - Slow Read Tracing
src/52-fsession-latency/fsession_latency.c - Read Probe
src/52-fsession-latency/fsession_latency.bpf.c - Energy Monitoring
src/48-energy/energy_monitor.c - CUDA Tracing
src/47-cuda-events/cuda_events.c
Networking
- Network Examples
src/23-http - XDP Load Balancer
src/42-xdp-loadbalancer/xdp_lb.bpf.c - Egress Pacer
src/53-egress-pacer/egress_pacer.c
Security and Advanced Features
- Text Replacement
src/28-detach/textreplace2.c - TLS Sniffer
src/30-sslsniff/sslsniff.c - Exec Inspector
src/54-exec-image-inspector/exec_image_inspector.c - Nest Scheduler
src/45-scx-nest/scx_nest.bpf.c - BPF Features
src/features
Other components
- Developer
Connections 21
- Developer → Hello World: explores
README.md - Developer → Basic Tracing: explores
README.md - Developer → libbpf Bootstrap: explores
README.md - Developer → CPU Profiler: runs
README.md - CPU Profiler → Perf Sampling: initializes sampling
src/12-profile/src/main.rs - CPU Profiler → Profile Events: handles ring events
src/12-profile/src/main.rs - CPU Profiler → Syscall Support: uses support
src/12-profile/src/main.rs - Developer → Memory Leak Tool: explores
README.md - Developer → Function Latency: explores
README.md - Developer → Slow Read Tracing: runs
README.md - Slow Read Tracing → Read Probe: loads BPF program
- Developer → Energy Monitoring: explores
README.md - Developer → CUDA Tracing: explores
README.md - Developer → Network Examples: explores
README.md - Developer → XDP Load Balancer: explores
README.md - Developer → Egress Pacer: explores
README.md - Developer → Text Replacement: explores
README.md - Developer → TLS Sniffer: explores
README.md - Developer → Exec Inspector: explores
README.md - Developer → Nest Scheduler: explores
README.md - Developer → BPF Features: explores
README.md