James mentions that even with a high switchrate you can lose data because the dtrace process might not be on CPU. This issue has been addressed for an upcoming release of Mac
OS. They have the dtrace client sleep on a memory location and the kernel does a wakeup on that location when the buffer is 80% full.