Профилирование - процесс анализа характеристик приложения, обычно ради улучшения его работы. Однако прежде, чем вы cможете профилировать программу, необходимо дать D программе возможность ограничить зарегистрированные события, связанные только с одним приложением. Есть несколько способов для достижения данной задачи. Во-первых, вы можете связать вашу D программу с одним или более процессами с помощью использования опции -c, чтобы определить выполняющуюся команду, или опции -p для определения PID'а уже выполняющегося процесса. Можно указывать множество процессов или команд для обеих опций, но первый всегда хранит свой PID в специальной макро-переменной $target. (Макро-переменные заменяются связанными с ними значениями фактически до запуска D программы, таким образом любое место в вашей D программе, где вы используете $target, будет заменено номером PID первого указанного с помощью опций -c или -p процесса). Например, можно использовать $target в предикате, чтобы ограничить выполнение пробы только для одного процесса. После того, как все ассоциированные процессы умирают, D программа также заканчивает свою работу, отобразив любой конечный вывод или выполнив пробу END.
Во вторых, можно просто передать PID процесса как параметр D программе. Любые параметры после любых опций передаются переменным 1 $, 2 $, 3 $ и т.д. (макропеременная $0 - название вашей D программы). Так как DTrace не знает о том, что ваши параметры являются процессами, при использовании этого метода D-скрипт не заканчивает свою работу при завершении процессов.
Продолжить чтение "DTrace в решении повседневных задач"