Завершена работа по портированию во FreeBSD кода DTrace, обеспечивающего возможность динамической трассировки пользовательских приложений (поддержка DTrace появилась еще во FreeBSD 7.0, но позволяла только отслеживать процессы, протекающие внутри ядра). Например, теперь можно устанавливать точки останова, следить за распределением памяти, использованием процессорного времени, наблюдать за блокировками, отслеживать сетевые и файловые операции в приложениях, запущенных на пользовательском уровне. Улучшение уже интегрировано во FreeBSD HEAD и в ближайшие дни будет включено в состав FreeBSD STABLE, т.е. в будущем войдет в состав релизов FreeBSD 8.2 и 7.4.
В частности, в рамках портирования из OpenSolaris перенесен pid-провайдер (позволяет отслеживать выполнение определенных функций в программе), реализованы USDT-проверки (вкомпилирование в пользовательскую программу отладочных вызовов), утилита plockstat (контроль блокировок в библиотеке pthread), утилита dtruss (аналог ktrace для трассировки системных вызовов), произведена интеграция поддержки Trace в порты с MySQL и PostgreSQL. Примеры использования новых возможностей представлены на wiki-странице проекта.
|