Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dtrace -qn '
- enum zio_priority {
- ZIO_PRIORITY_SYNC_READ,
- ZIO_PRIORITY_SYNC_WRITE, /* ZIL */
- ZIO_PRIORITY_ASYNC_READ, /* prefetch */
- ZIO_PRIORITY_ASYNC_WRITE, /* spa_sync() */
- ZIO_PRIORITY_SCRUB, /* asynchronous scrub/resilver reads */
- ZIO_PRIORITY_NUM_QUEUEABLE,
- ZIO_PRIORITY_NOW /* non-queued i/os (e.g. free) */
- } ;
- BEGIN {
- start = timestamp ;
- pri[ZIO_PRIORITY_SYNC_READ] = "Sync-Read" ;
- pri[ZIO_PRIORITY_SYNC_WRITE] = "Sync-Write" ;
- pri[ZIO_PRIORITY_ASYNC_READ] = "Async-Read" ;
- pri[ZIO_PRIORITY_ASYNC_WRITE] = "Async-Write" ;
- pri[ZIO_PRIORITY_SCRUB] = "Scrub" ;
- pri[ZIO_PRIORITY_NUM_QUEUEABLE] = "Queueable" ;
- pri[ZIO_PRIORITY_NOW] = "Non-queued" ;
- }
- ::zio_read:return, ::zio_write:return {
- @ops[pri[args[1]->io_priority]] = count() ;
- @[pri[args[1]->io_priority]] = quantize(args[1]->io_size) ;
- }
- END {
- /* normalize to operations per second */
- normalize(@ops, (timestamp - start) / 1000000000) ;
- printa("\tPRI: %s Ops/s: %@d%@d\n", @ops, @) ; }'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement