count

増分されたカウント値を集積体に格納します。

void count()

count関数は、引数を取らない集積関数で、コールされた回数分の値を返します。

例7-12 write()システム・コールの数を表示するためにcountを使用する方法

この例では、syscall::write:entryプローブと集積体を使用してカウント値を格納します。集積体では、キーとして組込み変数execnameを使用します。

syscall::write:entry
{
  @counts[execname] = count();
}

このプログラムの実行が終了すると、次のような出力が表示されます:

dtrace: description 'syscall::write:entry' matched 1 probe
^C
  dirname                                                           1
  dtrace                                                            1
  gnome-panel                                                       1
  ps                                                                1
  basename                                                          2
  gconfd-2                                                          2
  java                                                              2
  bash                                                              9
  cat                                                               9
  gnome-session                                                     9
  Xorg                                                             21
  firefox                                                         149
  gnome-terminal                                                 9421
  ...