This repository provides the build pipeline and versioned outputs for the eBPF programs used by BanyanDB’s FODC/KTM pipeline.
The generated Go bindings and eBPF objects are consumed by BanyanDB as build-time artifacts.
Generated artifacts live under iomonitor/ebpf/generated/:
*_bpfel.go(Go bindings generated bybpf2go)*_bpfel.o(eBPF ELF objects)vmlinux.h(BTF-derived kernel types)
These files are intended to be checked in and consumed by BanyanDB.
Common commands:
make install-depsinstalls clang/llvm/libbpf/bpftool.make generateormake ebpf-bindingsbuilds Go bindings and eBPF objects.make test-ebpfruns eBPF tests (requires root).
Prerequisites:
- BTF enabled kernel (
/sys/kernel/btf/vmlinuxreadable). tracefsordebugfsmounted for tracepoint attach.
Metric interpretation is documented in ktm_metrics.md.
The key rule: incidents are gated on syscall-level read/pread latency; other signals
are explanatory only.