min
指定した式のうちの最小値を集積体に格納します。
void min(expr)
min
関数は、式の最小値を集積体に格納する集積関数です。
例7-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
...