27 февраля 2024 года команда разработчиков из Netflix представила инструмент bpftop, который помогает оптимизировать производительность программ BPF (Berkeley Packet Filters) в ядре Linux. Исходный код проекта опубликован на GitHub под лицензией Apache License 2.0.
Инструмент bpftop обеспечивает динамическое представление запущенных программ eBPF в режиме реального времени. Утилита отображает среднее время выполнения, количество событий в секунду и расчётный общий процент использования ЦП для каждой программы. Этот инструмент минимизирует накладные расходы, включив статистику производительности только тогда, когда он активен.
Возможности bpftop:
отображает список всех запущенных программ eBPF на хосте, включая идентификатор, тип и имя;
показывает период и общее среднее время работы для каждой программы eBPF;
вычисляет количество событий в секунду и оценивает загрузку ЦП для каждой программы eBPF;
обеспечивает графическое представление среднего времени выполнения, событий в секунду и расчётной загрузки ЦП за 10-секундный период времени;
динамически обновляет список каждую секунду;
включает функцию сбора статистики только тогда, когда утилита активна.
Требования к системе для запуска bpftop:
для запуска bpftop требуются права sudo;
версия ядра Linux должна быть 5.8 или новее;
бинарный файл динамически связан с libz и libelf, поэтому эти библиотеки должны присутствовать в системах, где вы собираетесь запускать bpftop.
Источник: habr.com