clear

集積体から値をクリアしますが、集積体のキーは保持します。

void clear(@ aggr)

clear関数では、集積体のみをパラメータとしてとります。clear関数は、集積体の値のみを消去するため、集積体のキーは保持されます。clear関数の実行後にキーが参照される場合、そのキーの値はゼロになります。

例7-5 clearを使用して、最新の10秒間のシステム・コール・レートのみを表示する方法

clear関数はtick-10secプローブ内で使用され、@func集積体内のカウンタ値をクリアします。

#pragma D option quiet

BEGIN
{
  last = timestamp;
}

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

tick-10sec
{
  normalize(@func, (timestamp - last) / 1000000000);
  printa(@func);
  clear(@func);
  last = timestamp;
}