Build your expertise in the BPF virtual machine in the Linux kernel with this practical guide for systems engineers. You’ll not only dive into the BPF program lifecycle but also learn to write applications that observe and modify the kernel’s behavior; inject code to monitor, trace, and securely observe events in the kernel; and more. Authors David Calavera and Lorenzo Fontana help you harness the power of BPF to make any computing system more observable. Familiarize yourself with the essential concepts you’ll use on a day-to-day basis and augment your knowledge about performance optimization, networking, and security. Then see how it all comes together with code examples in C, Go, and Python.
It is however more focused on BCC rather than plain C eBPF programs and it doesn't cover what you need to know to develop and compile those. BTF it is not really covered, only referred to as debug information, not a single mention to the fact that it enables CORE and how, that is basically the future of BPF. A few inaccuracies here and there. The only detailed section is the one about XDP.
A tough read. This is a complicated tech stack with a high barrier of entry in a nieche area. The book gives a solid overview of the programming model and the use cases.