BPF Based Telemetry, Metrics, and Accounting on Android
summary
BPF iterators replace procfs/ci sfs scans to collect DMA-buf, wakeup-source and CPU metrics, cutting a global read that used to enumerate thousands of CISFS files and take hundreds of milliseconds to >1s. A DMA-buf BPF iterator upstreamed removes the repeated ci sfs work that previously consumes about 70% of allocation time, uses kernel maps/ring buffers for binary output, runs pinned at boot across kernels via BPF core, and enables turning off CONFIG_DMABUF_SYSFS_STATS; wakeup-source and reclaim telemetry iterators are next.
AI-written summary · about
chapters (6)
- 0:00Introduction to BPF telemetry
- 1:24Challenges with debugfs and tracefs
- 3:34CISFS overhead and limitations
- 6:02Advantages of BPF-based solutions
- 8:54Future plans and DMA buff dump
- 11:02Q&A session
related talks
21mPerformance Wins with BPF: Getting Started
19mUsing BPF Iterators to Gain Insight into Kubernetes
32meBPF: BPF kernel infrastructure
30mPerformance insights into eBPF step by step
36mObservability and performance analysis with BPF
46mbpftrace internals
32mBPF: Introduction, Programming Tips and Tricks
21mModernizing Android BPF and the Android Security Model
