Skip to content

Instantly share code, notes, and snippets.

@evansus
Last active August 29, 2015 14:02
Show Gist options
  • Save evansus/5dbb9082c4f1f336e47f to your computer and use it in GitHub Desktop.
Save evansus/5dbb9082c4f1f336e47f to your computer and use it in GitHub Desktop.
dtrace probe for OpenZFS on OS X vdev-iokit branch
#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option stackframes=100
#pragma D option ustackframes=100
fbt::vdev_iokit_io_start:entry, fbt::vdev_iokit_strategy:entry,
fbt::vdev_iokit_io_done:entry, fbt::vdev_iokit_sync:entry,
fbt::vdev_iokit_alloc:entry, fbt::vdev_iokit_free:entry,
fbt::vdev_iokit_physio:entry, fbt::vdev_iokit_strategy:entry
{
self->start = timestamp;
}
fbt::vdev_iokit_io_start:return, fbt::vdev_iokit_strategy:return,
fbt::vdev_iokit_io_done:return, fbt::vdev_iokit_sync:return,
fbt::vdev_iokit_alloc:return, fbt::vdev_iokit_free:return,
fbt::vdev_iokit_physio:return, fbt::vdev_iokit_strategy:return
/self->start/
{
this->time = timestamp - self->start;
@[stack(),tid] = sum(this->time);
self->start = 0;
}
dtrace:::END
{
printa("%k %llu %@d\n", @);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment