Utilisez la variable de macro $target pour créer des scripts applicables au processus utilisateur qui nous intéresse, ce dernier étant sélectionné sur la ligne de commande dtrace à l'aide de l'option -p ou créé à l'aide de l'option -c. Les programmes en D spécifiés sur la ligne de commande ou à l'aide de l'option -s sont compilés après la création ou l'extraction des processus et l'extension de la variable $target à l'ID de traitement des nombres entiers d'un tel processus initial. Par exemple, le script en D suivant peut permettre de déterminer la répartition des appels système exécutés par un processus objet particulier :
syscall:::entry /pid == $target/ { @[probefunc] = count(); }
Pour déterminer le nombre d'appels système exécutés par la commande date(1), enregistrez le script dans le fichier syscall.d et exécutez la commande suivante :
# dtrace -s syscall.d -c date dtrace: script 'syscall.d' matched 227 probes Fri Jul 30 13:46:06 PDT 2004 dtrace: pid 109058 has exited gtime 1 getpid 1 getrlimit 1 rexit 1 ioctl 1 resolvepath 1 read 1 stat 1 write 1 munmap 1 close 2 fstat64 2 setcontext 2 mmap 2 open 2 brk 4 |