← Books Explained

// BOOK COMPANION

BPF Performance Tools — chapter notes.

Original companion notes for Brendan Gregg, BPF Performance Tools: Linux System and Application Observability. Every chapter is rewritten in plain, easy language with a one-minute summary, diagrams, real examples, gotchas, FAQs, takeaways — and a BCC/bpftrace cheatsheet at the end of every lesson you can copy straight to a terminal.

These notes are not copied from the book. They are independent learning material organized around the book's chapter topics, aimed at engineers who trace and debug real Linux systems.


CHAPTERS

chapter 1

Introduction live

What BPF is, why it changed observability, BCC and bpftrace at a glance, and the mental model for the whole book.

companion notes· + cheatsheet
chapter 2

Technology Background live

BPF internals, the verifier, maps, probes (kprobes, uprobes, tracepoints, USDT), and stack walking.

companion notes· + cheatsheet
chapter 3

Performance Analysis live

Methodologies, the USE method, workload characterization, drill-down, and the 60-second checklist.

companion notes· + cheatsheet
chapter 4

BCC live

The BPF Compiler Collection — installing, the tool library, single-purpose vs multi-tool, and usage.

companion notes· + cheatsheet
chapter 5

bpftrace live

The bpftrace language — probes, filters, actions, variables, maps, builtins, and one-liners.

companion notes· + cheatsheet
chapter 6

CPUs live

CPU tracing — run-queue latency, profiling, off-CPU, scheduler events, and flame graphs with BPF.

companion notes· + cheatsheet
chapter 7

Memory live

Page faults, allocations, OOM, swapping, and leak hunting with BPF tools.

companion notes· + cheatsheet
chapter 8

File Systems live

VFS, file-system latency, the page cache, read/write tracing, and per-file analysis.

companion notes· + cheatsheet
chapter 9

Disk I/O live

Block I/O latency, biolatency/biosnoop, queueing, and tracing the block layer.

companion notes· + cheatsheet
chapter 10

Networking live

TCP lifetimes, retransmits, connection tracing, and the network stack with BPF.

companion notes· + cheatsheet
chapter 11

Security live

Privilege tracing, exec/connection monitoring, and BPF for runtime security observability.

companion notes· + cheatsheet
chapter 12

Languages live

Tracing compiled, JIT, and interpreted languages — symbols, stacks, and USDT probes.

companion notes· + cheatsheet
chapter 13

Applications live

Application-level tracing — requests, threads, locks, USDT, and on/off-CPU analysis.

companion notes· + cheatsheet
chapter 14

Kernel live

Kernel internals tracing — wakeups, work queues, interrupts, and deep kernel analysis.

companion notes· + cheatsheet
chapter 15

Containers live

Tracing across namespaces and cgroups, per-container attribution, and the host-vs-guest view.

companion notes· + cheatsheet
chapter 16

Hypervisors live

Tracing virtual machines — guest vs host, steal time, and the limits of BPF visibility.

companion notes· + cheatsheet
chapter 17

Other BPF Tools live

The wider ecosystem — bpftop, ply, Cilium, and other front-ends beyond BCC and bpftrace.

companion notes· + cheatsheet
chapter 18

Tips, Tricks & Problems live

Event flooding, dropped events, stack/symbol issues, overhead, and the common traps to avoid.

companion notes· + cheatsheet