Цукалос, М. DTrace: гид по применению [Текст] : учебник : [применение полного анализа и отладки ПО для мониторинга производительности системы под Linux] / Михалис Цукалос [Mihalis Tsoukalos] // Linux Format. — 2015. — № 3 (194), март. — С. 70-73. — (Учебник). — Прил.: "Скорая помощь. Если вы администратор различных машин Unix, изучите DTrace непременно: это сильно облегчит вашу жизнь. Если вы администратор только систем Linux, это всё равно хороший выбор.". — С. 70 ; "Зачем создали DTrace?" : [минусы отлаживающих утилит strace и truss; значение вставки в ПО сообщений об отладке и других видов сообщений; цель компании Sun Microsystems при разработки DTrace (2004), плюсы программы при отладке ПО] ; "Скорая помощь" : [альтернативы DTrace — команда perf (она же perf_events) и SystemTap]. — С. 71 ; "Скорая помощь. Когда вы пытаетесь решать проблему с производительностью, один вопрос тащит за собой другой. Не сдавайтесь; просто продолжайте отвечать на возникающие вопросы!" : [совет]. — С. 72 ; "DTrace против Linux DTrace" : [недостатки версий программы для Linux; основополагающее руководство по DTrace — http://www.dtracebook.com]. — С. 73.
Аннотация
Всё, что вам следует знать об удобном инструменте DTrace, чтобы проверить производительность своей системы.
DTrace (расшифровывается Dynamic Tracing — Динамическое слежение) — версии (версия в Oracle Linux и портированная на Linux свободная на https://github.com/dtrace4linux/linux), назначение, плюсы, высокий порог освоения, установка в системе под Ubuntu Linux, прицип работы (понятия провайдер и зонд), команды и опции команд, программирование DTrace на D, функции статистики, полезные команды-однострочники (команда печати числа системных вызовов на каждую работающую программу; команда отслеживания системных вызовов open() и печати имени и пути процесса, вызвавшего open(); печати количества прочитанных байтов, сгруппированных по процессам; отслеживания ввода/вывода диса и печати ID процесса, его имени и размера операции ввода/вывода в байтах; подсчёта исходящих соединений, отслеживанием вызовов connect(), подсчёта входящих соединений, отслеживанием вызовов accept(); чтения и записи через сокет, которые соответствуют вызовам read() и write(), сгруппированные по процессу с заданным именем; подсчёта вызовов функции, относящихся к ext4).