blkiomon: I/O monitor
authorMartin Peschke <mp3@de.ibm.com>
Thu, 16 Oct 2008 05:48:25 +0000 (07:48 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 16 Oct 2008 05:48:25 +0000 (07:48 +0200)
commitcc19ddd696e8931a969e943523e1dcf7a11ffe79
tree24fad07f2492c5dda6a097b015073037232a728b
parentabf63eafd11e42e0f065e56fc4773e6854087d41
blkiomon: I/O monitor

blkiomon periodicaly generates per devive request size and request latency
statistics from blktrace data. It provides histograms as well as data that
can be used to calculate min, max, average and variance. For this purpose,
it consumes D and C traces read from stdin.

There are options for binary output and human-readable output to files and
stdout. Output to a message queue is supported as well.

#blktrace /dev/sdw -a issue -a complete -w 200 -o - | blkiomon -I 8 -h -

time: Tue Sep 30 17:39:25 2008
device: 65,96
requests: read 62, write 40, bidir: 0
sizes: num 102, min 4096, max 430080, sum 13312000, squ 3102442782720,
 avg 130509.8, var 13383296793.3
d2c: num 102, min 393, max 14261, sum 359441, squ 2830211755, avg 3523.9,
 var 15329081.8
sizes histogram (in kB):
            0:     0         1024:     0         2048:     0         4096:     6
         8192:     0        16384:    15        32768:     4        65536:    24
       131072:    11       262144:    30       524288:    12      1048576:     0
      2097152:     0      4194304:     0      8388608:     0    > 8388608:     0
d2c histogram (in usec):
            0:     0            8:     0           16:     0           32:     0
           64:     0          128:     0          256:     0          512:    13
         1024:    21         2048:    27         4096:    14         8192:     8
        16384:    19        32768:     0        65536:     0       131072:     0
       262144:     0       524288:     0      1048576:     0      2097152:     0
      4194304:     0      8388608:     0     16777216:     0     33554432:     0
    >33554432:     0

time: Tue Sep 30 17:39:33 2008
device: 65,96
requests: read 312, write 47, bidir: 0
sizes: num 359, min 4096, max 430080, sum 13197312, squ 1575816790016,
 avg 36761.3, var 3038067547.5
d2c: num 359, min 294, max 9211, sum 387134, squ 1262489694, avg 1078.4,
 var 2353807.5
sizes histogram (in kB):
            0:     0         1024:     0         2048:     0         4096:    32
         8192:    17        16384:   133        32768:    87        65536:    59
       131072:     9       262144:    18       524288:     4      1048576:     0
      2097152:     0      4194304:     0      8388608:     0    > 8388608:     0
d2c histogram (in usec):
            0:     0            8:     0           16:     0           32:     0
           64:     0          128:     0          256:     0          512:   129
         1024:   164         2048:    33         4096:    15         8192:    13
        16384:     5        32768:     0        65536:     0       131072:     0
       262144:     0       524288:     0      1048576:     0      2097152:     0
      4194304:     0      8388608:     0     16777216:     0     33554432:     0
    >33554432:     0

Signed-off-by: Martin Peschke <mp3@de.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Makefile
blkiomon.c [new file with mode: 0644]
blkiomon.h [new file with mode: 0644]
doc/blkiomon.8 [new file with mode: 0644]
stats.h [new file with mode: 0644]