Главная · eBPF

Модель

У каждой команды из предыдущего раздела одна и та же схема. Её достаточно, чтобы не путать инструменты между собой.

Событие

Программа просыпается, когда в ядре что-то произошло: запуск процесса, connect, завершение дисковой операции, тик профилировщика. Между событиями она не крутится в цикле.

Точка подвеса

Map

Одного события мало: гистограмме нужно копить корзины, счётчику — число. Map — память программы между событиями. Её же читают снаружи, поэтому biolatency показывает таблицу, а не один printk на каждую операцию.

Verifier

Перед запуском ядро доказывает, что программа завершится и не полезет в память наугад. Отказ verifier — это «так запускать нельзя», а не «идея наблюдения плохая». Ограничение обходят более простой программой, а не отключением проверки на боевой машине.

К оглавлению