I believe that reasoning about a program, and knowing where to insert “probes”, is a key part of development that can make the difference between “stuck all afternoon” and finishing a task on time.
This is why I love the idea of BPF: you can instrument any part of your computer. Any function in your program, any syscall, the filesystem, virtual memory, network, you name it. It should really level up my debugging, and is why I’m reading BPF Performance Tools.
Continue reading