Use a variável de macro $target para criar scripts que possam ser aplicados a um processo de usuário específico de seu interesse que seja selecionado na linha de comando do dtrace com a opção -p ou criado com a opção -c. Os programas em D especificados na linha de comando ou com a opção -s são compilados depois que os processos são criados ou capturados, e a variável $target se expande para o ID de processo de inteiro do primeiro processo desse tipo. Por exemplo, o script de D poderia ser usado para determinar a distribuição de chamadas do sistema executadas por processo de assunto específico:
syscall:::entry /pid == $target/ { @[probefunc] = count(); }
Para determinar o número de chamadas do sistema executadas pelo comando date(1) salve o script no arquivo syscall.d e execute o seguinte comando:
# 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 |