Представлен проект bpftime, развивающий runtime и виртуальную машину для выполнения обработчиков eBPF в пространстве пользователя. Bpftime позволяет создавать eBPF-сценарии трассировки и вмешательства в работу процессов, реализующие такие возможности, как uprobe и программный перехват всех системных вызовов, работающие целиком в пространстве пользователя. Отмечается, что благодаря исключению лишних переключений контекста bpftime позволяет добиться десятикратного снижения накладных расходов по сравнению с использованием функциональности uprobe и uretprobe, предоставляемой ядром Linux. Кроме того, bpftime значительно упрощает отладку, потенциально может применяться на системах без ядра Linux и не требует расширенных привилегий, необходимых для загрузки eBPF-приложения в ядро. Код проекта написан на языках С/C++ и распространяется под лицензией MIT.

https://www.opennet.ru/opennews/art.shtml?num=60477