#!/usr/sbin/dtrace -s dtrace:::BEGIN { vtotal = 0; } syscall::$1:entry /pid == $target/ { self->vtime = vtimestamp; } syscall:::return /self->vtime/ { @vtime[ustack()] = sum(vtimestamp - self->vtime); vtotal += (vtimestamp - self->vtime); self->vtime = 0; } dtrace:::END { normalize(@vtime, vtotal / 100); printa(@vtime); }