Як встановити DTrace?


20

Гуглінг припускає, що DTrace доступний в Linux, але я не можу знайти інструкції, як його встановити.

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

Відповіді:


15

Скористайтеся 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:


цікаве запитання - на цьому веб-посиланні сказано, що dtrace недоступний для "debian" (він же ubuntu?) - його більш сучасний, ніж ваша пов'язана інструкція. webcache.googleusercontent.com/…
fossfreedom

Останній коментар про мозковий штурм дивіться тут: brainstorm.ubuntu.com/idea/4971 Без дебюту, але він може бути використаний на Ubuntu.
Rinzwind

ОК - сподіваюсь, ОП перевірить це - +1 від мене.
fossfreedom

Я також знайшов цей мозковий шторм.ubuntu.com/idea/11463 ptrace, utrace та systemtap, відредагований як альтернатива (не намагався їх також btw;))
Rinzwind

. build / config.sh; \ mkdir -p "" / usr / lib / dtrace / $ CPU_BITS; \ rm -f "" /usr/lib/dtrace/types.d; \ mkdir -p "" / usr / sbin /; \ install -m 4755 -o root build / dtrace "" / usr / sbin / dtrace; \ install -m 644 -o root build / drti.o "" /usr/lib/dtrace/$CPU_BITS/drti.o mkdir: не вдається створити каталог '/ usr / lib / dtrace': В дозволі відмовлено в установці: неможливо створити звичайний файл '/ usr / sbin / dtrace': В дозволі відмовлено в установці: не вдається створити звичайний файл '/usr/lib/dtrace/64/drti.o': Немає такого файлу або каталогу файлу: 110: рецепт цільової 'встановити' не вдалося зробити: *** [встановити] Помилка 1
gtzinos

14

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, будуть складними, якщо не неможливими, використовуючи або клон, вилку, або імітацію dtrace.


5
Дійсно, версія в "systemtap-sdt-dev" не підтримує опцію "-n"
Erel Segal-Halevi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.