22 Ноября 2024, 05:55

DTrace

Автор Zhek@Ch, 27 Сентября 2010, 08:42

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Zhek@Ch

27 Сентября 2010, 08:42 Последнее редактирование: 30 Сентября 2010, 23:23 от 42
Завершена работа по портированию во 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-странице проекта.


Rubik

[size="3"]Практические аспекты применения технологии DTrace[/size]

В статье рассматриваются практические аспекты применения технологии динамической отладки DTrace: синтаксис, примеры скриптов, типичные сценарии использования.
Копия статьи