X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=README;h=72369668368df5375437d3ccba95c1767c2014f9;hb=54824c20971051de0486d4e5e97d3ef20934af82;hp=058306fbd40ba65e4589f71e50e71d19dd29c8ee;hpb=129aa440adee4a68dfe5468a67e636ee46642f88;p=blktrace.git diff --git a/README b/README index 058306f..7236966 100644 --- a/README +++ b/README @@ -9,7 +9,7 @@ Nathan Scott (bug fixes, process names, multiple devices) Requirements ------------ -You need to be running a 2.6.14-rc2 kernel or newer, with the blk-trace patch +You need to be running a 2.6.14-rc3 kernel or newer, with the blk-trace patch included in this repository. If you forgot where you got it, the url is: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git @@ -24,6 +24,11 @@ the master tree from: git://brick.kernel.dk/data/git/blktrace.git +For browsing the repo over http and viewing history etc, you can direct +your browser to: + +http://brick.kernel.dk/git + Usage ----- @@ -34,6 +39,7 @@ $ blktrace -d [ -r relay_path ] [ -o output ] [ -k ] [ -w time ] -d Use specified device. May also be given last after options. -r Path to mounted relayfs, defaults to /relay. -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). @@ -52,17 +58,23 @@ $ blktrace -d [ -r relay_path ] [ -o output ] [ -k ] [ -w time ] -A Give the trace mask directly as a number. - -v Print program version info. -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 Make the network client use sendfile() to transfer data + -V Print program version info. $ blkparse -i [ -o ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ] [ -w start:stop ] [ -f output format ] [ -F format spec ] -i Input file containing trace data, or '-' for stdin. + -D Directory to prepend to input file names. -o Output file. If not given, output is stdout. -b stdin read batching. -s Show per-program io statistics. + -h Hash processes by name, not pid. -t Track individual ios. Will tell you the time a request took to get queued, to get dispatched, and to get completed. -q Quiet. Don't display any stats at the end of the trace. @@ -79,7 +91,8 @@ $ blkparse -i [ -o ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ] %e - Error number %M - Major %m - Minor - %n - Nblocks + %N - Number of bytes + %n - Number of sectors %p - PID %P - PDU %s - Sequence number @@ -91,6 +104,7 @@ $ blkparse -i [ -o ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ] -F Format specification. The individual specifiers are: + A - Remap B - Back merge C - Complete D - Issue @@ -107,7 +121,23 @@ $ blkparse -i [ -o ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ] W - Bounce X - Split - -v Print program version info. + -v More verbose for marginal errors. + -V Print program version info. + +$ verify_blkparse filename + + Verifies an output file from blkparse. All it does is check if + the events in the file are correctly time ordered. If an entry + is found that isn't ordered, it's dumped to stdout. + +$ blkrawverify [...] + + The blkrawverify utility can be used to verify data retrieved + via blktrace. It will check for valid event formats, forward + progressing sequence numbers and time stamps, also does reasonable + checks for other potential issues within invidividual events. + + Errors found will be tracked in .verify.out. If you want to do live tracing, you can pipe the data between blktrace and blkparse: @@ -116,13 +146,23 @@ and blkparse: This has a small risk of displaying some traces a little out of sync, since it will do batch sorts of input events. Similarly, you can do traces over -the network with eg netcat: +the network. The network 'server' must run: + +% blktrace -l + +to listen to incoming blktrace connections, while the client should use + +% blktrace -d /dev/sda -h + +to connect and transfer data over the network. + -% blktrace -d /dev/sda -o - | netcat parsehost portno -% netcat -l -p portno tracehost | blkparse -i - +Documentation +------------- -Which will send the traces from tracehost to parsehost over the network on -the defined port number. +A users guide is distributed with the source. It is in latex, a +'make docs' will build a PDF in doc/. You need tetex and latex installed +to build the document. Resources @@ -135,5 +175,5 @@ the mail body. -20050906, Jens Axboe +20051007, Jens Axboe