Как установить DTrace?

18

Googling предполагает, что DTrace доступен в Linux, но я не могу найти инструкции по его установке.

  

DTrace - это всеобъемлющая динамическая структура трассировки. Он предназначен для обеспечения оперативной информации, которая позволяет пользователям настраивать и устранять неполадки приложений и самой ОС. Особое внимание было уделено, чтобы сделать его безопасным для использования в производственной среде. Например, при отслеживании происходит минимальный эффект зонда, и не влияет на производительность, связанное с любым отключенным зондом; это важно, так как есть десятки тысяч зондов DTrace, которые можно включить.

    
задан justintime 11.09.2011 в 13:40
источник

2 ответа

12

Используйте git или загрузите несколько версий dtrace здесь . Я нашел эти Инструкции по установке :

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

Sidenote: Комментарий к мозговой штурме утверждает, что вы можете сделать то же самое с этими 3:

ответ дан Rinzwind 11.09.2011 в 14:20
источник
8

1

Я нашел пакет sytemtap-sdt-dev. Из терминального типа:

sudo apt-get install systemtap-sdt-dev

Этот пакет предоставляет dtrace .

Обратите внимание, что хотя по умолчанию это называется dtrace , это не совсем то же самое, что и оригинал от Solaris . Возможно, вы можете сделать что-то, но не все.

2

Если вы не против компиляции, более полнофункциональной версией dtrace является порт Пол Фокс:
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

Его довольно легко построить, см. README.

3

Также есть порт Oracle . Но я его не тестировал, и не рекомендовал это. По-видимому, у него всего около 0,1 процента зондов порта Пола Фокса.

$ dtrace -l | wc -l
394267

Иронично, потому что Oracle приобрели Sun , оригинальные авторы dtrace для Solaris .

4

Обратите внимание, что в Linux-dtrace отсутствуют некоторые функции пользовательского пространства, которые предоставляет (оригинальная) Solaris-dtrace. Поэтому некоторые применения для dtrace, такие как профилирование Node.js, будут сложными, если не невозможными, с использованием либо клона, либо fork, либо immitation dtrace.     

ответ дан Redsandro 07.08.2012 в 17:44