Для FreeBSD будет создан инструментарий для поддержки DTrace на пользовательском уровне

Организация FreeBSD Foundation объявила о финансировании проекта по улучшению интеграции системы динамической трассировки DTrace во FreeBSD. Модуль ядра с реализацией DTrace был портированы из OpenSolaris и вошел в состав базовой системы два года назад. Несмотря на то, что поддержка DTrace на уровне ядра обеспечивалась уже в релизе FreeBSD 8.0, возможности утилит для трассировки пользовательских приложений были ограничены.

Добавление соответствующих утилит и библиотек позволит задействовать возможности DTrace для выявления проблем и узких мест в работе пользовательских программ, не ограничиваясь процессами, протекающими внутри ядра. Можно будет устанавливать точки остановка, следить за распределением памяти, утилизацией процессорного времени, наблюдать за блокировками, отслеживать сетевые и файловые операции в приложениях, запущенных на пользовательском уровне.

В первую очередь проект будет сконцентрирован на добавлении поддержки libproc для маппинга символов к адресам, адресов к символам, настройки точек останова, организации взаимодействия rtld (run-time link-editor) с DTrace. В дальнейшем работа будет сфокусирована на контроле процессов при помощи DTrace, импортировании pid-провайдера и его адаптации для работы в окружении FreeBSD, портировании usdt-провайдера для проведения статически определенных проверок на пользовательском уровне. В заключение работы, планируется перенести во FreeBSD plockstat-провайдер. Работу над проектом планируется завершить в сентябре текущего года.

©  OpenNet