В системах со встроенной в ядро технологией DTrace (Solaris, FreeBSD, MacOS X, QNX) можно получить полную информацию о том, что происходит с приложением при его работе в ОС. DTrace контролирует основные действия трассируемого приложения – выполнение процессорных команд, чтение из памяти и запись в нее – и при этом динамически модифицирует объект исследования: выключенные датчики не оказывают никакого влияния на производительность и включаются только при явном указании этого.
В отличие от утилиты truss, позволяющей трассировать только системные вызовы и сигналы, DTrace позволяет получить информацию почти обо всех составляющих работы системы, а использование дополнительных статистических утилит можно указать в скрипте на языке D. Truss для сбора информации пользуется файловой системой proc, предназначенной для стандартных средств отладки, поэтому в большинстве случаев трассируемый процесс останавливается, фиксируется нужная информация о его состоянии и процесс запускается заново (чего в DTrace при нормальной работе не наблюдается, хотя методы трассировки могут быть как статическими, так и динамическими).
Продолжить чтение "Архитектура и провайдеры DTrace "