Block IO Tracing
----------------
Written by Jens Axboe (initial version and kernel support),
Alan D. Brunelle (threading and splitup into two seperate programs),
Nathan Scott (bug fixes, process names, multiple devices)
Also thanks to Tom Zanussi for good input and
patches.
Requirements
------------
blktrace was integrated into the mainline kernel between 2.6.16 and 2.6.17-rc1.
The target trace needs to run on a kernel at least that new.
git://git.kernel.dk/blktrace.git
If you don't have git, you can get hourly snapshots from:
http://brick.kernel.dk/snaps/
The snapshots include the full git object database as well. kernel.org has
excessively long mirror times, so if you have git installed, you can pull
the master tree from:
git://git.kernel.dk/blktrace.git
For browsing the repo over http and viewing history etc, you can direct
your browser to:
http://git.kernel.dk/
Usage
-----
$ blktrace -d [ -r debug_path ] [ -o output ] [ -k ] [ -w time ]
[ -a action ] [ -A action mask ]
-d Use specified device. May also be given last after options.
-r Path to mounted debugfs, defaults to /sys/kernel/debug.
-o File(s) to send output to.
-D Directory to prepend to output file names.
-k Kill running trace.
-w Stop after defined time, in seconds.
-a Only trace specific actions (use more -a options to add actions).
Available actions are:
READ
WRITE
BARRIER
SYNC
QUEUE
REQUEUE
ISSUE
COMPLETE
FS
PC
-A Give the trace mask directly as a number.
-b Sub buffer size in KiB.
-n Number of sub buffers.
-l Run in network listen mode (blktrace server)
-h Run in network client mode, connecting to the given host
-p Network port to use (default 8462)
-s Disable network client use of sendfile() to transfer data
-V Print program version info.
$ blkparse -i [ -o