( SPYFF | 2021. 09. 25., szo – 23:28 )

Szerkesztve: 2021. 09. 25., szo – 23:30

Ha jól látom itt egy eBPF trace kódot írsz. Ha ez egy nagyobb program egyik eleme, akkor bele kell ásni magad a eBPF hell-be, nincs mese: alapból kell legyen egy kernel és userspace része ennek a kódnak, amit itt látok az a kernel része csak a dolognak (persze a mapet kiolvashatod bpftool-al is és akkor megspórolod az userspace részt). Ami segíthet a kiolvasásban az a BPF_CORE_READ újabb kernelekben amik BTF-et támogatnak. Erről itt: https://nakryiko.com/posts/libbpf-bootstrap/#bpf-co-re
De ajánlom a teljes posztot, valamint ezt is: https://facebookmicrosites.github.io/bpf/blog/2020/02/19/bpf-portabilit…

Ha csak az érték számlálása szükséges, pl. csak debugoláshoz (nem derült ki a kérdésedből) akkor nem feltétlen kell elmerülnöd a dologban, csak keress rá bpftrace szkriptekben hogy olvassák ki ezeket az értékeket: https://github.com/iovisor/bpftrace

Nem tudom mikbe futottál bele, de sajnos működő és mára legacy-vá vált megoládsok együttsen vannak fenn a neten, sajnos elfejlődget egymás mellett a kernel support, a libbpf, a bpftrace meg ezek dokumentációja plusz a blogok. Lehet 2-3 éves blogposztok már nem igazak vagy max az akkor legújabb kernellel és toolinggal.