min
指定した式のうちの最小値を集積体に格納します。
void min(expr)
min関数は、式の最小値を集積体に格納する集積関数です。
例8-26 maxを使用して、プロセスがシステム書込みコールに費やす最小時間を表示する方法
この例では、syscall::write:entryプローブの起動のタイムスタンプを格納し、この値をsyscall::write:returnの起動時のタイムスタンプから減算します。 最小時間は、この2つのプローブ間の時間差に基づいて計算され、実行されるプロセスごとに更新できるように集積体に格納されます。 このプログラムが終了すると、集積された最小タイムスタンプ値が、組込み変数execnameで識別されるプロセスごとに表示されます。
syscall::write:entry
{
self->ts = timestamp;
}
syscall::write:return
/self->ts/
{
@time[execname] = min(timestamp - self->ts);
self->ts = 0;
}
このプログラムが終了すると、次のような出力が表示されます:
IPC I/O Parent 1087
gmain 1091
libvirt-dbus 1501
pmcd 1601
libvirtd 1615
threaded-ml 1673
Timer 2130
NetworkManager 2140
Socket Thread 2275
InputThread 2420
...