[PATCH] blktrace: remove padding logic, it's not needed with the new sendfile()
[blktrace.git] / README
diff --git a/README b/README
index c96d20a533e5b79a19c6c965928c37ccbac042e5..14beccc689ef990bdf53bb32064821d0b75f5e1b 100644 (file)
--- a/README
+++ b/README
@@ -4,12 +4,14 @@ Block IO Tracing
 Written by Jens Axboe <axboe@suse.de> (initial version and kernel support),
 Alan D. Brunelle (threading and splitup into two seperate programs),
 Nathan Scott <nathans@sgi.com> (bug fixes, process names, multiple devices)
+Also thanks to Tom Zanussi <zanussi@us.ibm.com> for good input and
+patches.
 
 
 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 +26,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 +41,7 @@ $ blktrace -d <dev> [ -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,18 +60,23 @@ $ blktrace -d <dev> [ -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 <input> [ -o <output> ] [ -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.
-       -n Hash processes by name, not pid.
+       -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.
@@ -80,7 +93,8 @@ $ blkparse -i <input> [ -o <output> ] [ -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
@@ -92,6 +106,7 @@ $ blkparse -i <input> [ -o <output> ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ]
 
        -F Format specification. The individual specifiers are:
 
+               A       - Remap
                B       - Back merge
                C       - Complete
                D       - Issue
@@ -108,7 +123,23 @@ $ blkparse -i <input> [ -o <output> ] [ -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 <dev> [<dev>...]
+
+       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 <dev>.verify.out.
 
 If you want to do live tracing, you can pipe the data between blktrace
 and blkparse:
@@ -117,13 +148,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 <server hostname>
+
+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
@@ -136,5 +177,5 @@ the mail body.
 
 
 
-20050906, Jens Axboe <axboe@suse.de>
+20051007, Jens Axboe <axboe@suse.de>