eBPF - это байткод-программы, которые ядро верифицирует и
запускает в ответ на событие: системный вызов, входящий пакет,
переключение контекста. Без отдельного модуля и без перезагрузки;
работает с современным ядром. Группировка обычно идёт по
process-and-pid / comm, то есть сколько openat'ов сделал
каждый процесс.
bpftrace - высокоуровневый язык поверх eBPF. Один однострочник
заменяет десяток strace/lsof-вызовов: посчитать syscall'ы по
процессу, найти кто открывает конкретный файл, измерить TCP-соединения
в секунду.
⚠️ Caveat: на Mac/OrbStack-VM не все пробы могут работать (зависит от того, как собран kernel). На прод-Linux всё заводится сразу. Если какой-то шаг падает с «Failed to attach probe», это известное ограничение dev-окружения; урок объясняет принцип.