2.7.4 演習の解決および例: 100秒を超える書込み、読取りおよびオープン・システム・コールのカウント(Countcalls.d)

/* countcalls.d -- Count write, read, and open system calls over 100 seconds */

profile:::tick-100sec
{
  exit(0);
}

syscall::write:entry, syscall::read:entry, syscall::open:entry
{
  @[strjoin(probefunc,"() calls")] = count();
}

tick-100sプローブに関連付けられたアクションは、dtrace が100秒後に終了し、集計結果が出力されることを意味します。

# dtrace -s countcalls.d
dtrace: script 'countcalls.d' matched 4 probes
CPU     ID                    FUNCTION:NAME
  3    643                     :tick-100sec 

  write() calls                                                  1062
  open() calls                                                   1672
  read() calls                                                  29672