Netflix опубликовал код утилиты bpftop

Компания Netflix представила утилиту bpftop, предоставляющую интерфейс для мониторинга за выполнением eBPF-программ в ядре Linux, реализованный в стиле утилиты top. Утилита показывает показатели производительности, нагрузки на CPU и обработки событий для каждой eBPF-программы. Поддерживается построение графиков для оценки динамики изменения характеристик выполнения во времени. Код bpftop написан на языке Rust и распространяется под лицензией Apache 2.0.

Основные возможности:

  • Отображение списка запущенных eBPF-программ, их идентификаторов, типа и имени.
  • Показ периода и общего среднего времени выполнения каждой eBPF-программы.
  • Расчёт для каждой eBPF-программы нагрузки на CPU и обработанных событий в секунду.
  • Графики времени выполнения, событий в секунду и нагрузки на CPU в 10-секундные отрезки.
  • Ежесекундное обновление списка.

Одной из целей разработки bpftop называется упрощение оптимизации eBPF-программ и возможность динамического наблюдения за эффективностью тех или иных изменений в eBPF-программах. Для получения статистики в bpftop используется системный вызов BPF_ENABLE_STATS и сбор информации каждую секунду. Для снижения накладных расходов статистика собирается только во время работы утилиты.




Release. Ссылка here.