[PATCH] blkparse: another stab at stopwatch_end fixing
[blktrace.git] / README
CommitLineData
d0ca268b
JA
1Block IO Tracing
2----------------
3
e7c9f3ff
NS
4Written by Jens Axboe <axboe@suse.de> (initial version and kernel support),
5Alan D. Brunelle (threading and splitup into two seperate programs),
6Nathan Scott <nathans@sgi.com> (bug fixes, process names, multiple devices)
d0ca268b
JA
7
8
c1bd9d09
JA
9Requirements
10------------
11
b2a8adbf 12You need to be running a 2.6.14-rc2 kernel or newer, with the blk-trace patch
56c7d54d 13included in this repository. If you forgot where you got it, the url is:
c1bd9d09
JA
14
15rsync://rsync.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git
16
6432fd98
JA
17If you don't have git, you can get hourly snapshots from:
18
19http://www.kernel.org/pub/linux/kernel/people/axboe/blktrace/
20
b2a8adbf
JA
21The snapshots include the full git object database as well. kernel.org has
22excessively long mirror times, so if you have git installed, you can pull
23the master tree from:
24
25git://brick.kernel.dk/data/git/blktrace.git
6432fd98 26
c1bd9d09
JA
27
28Usage
29-----
30
ab197ca7
AB
31$ blktrace -d <dev> [ -r relay_path ] [ -o output ] [ -k ] [ -w time ]
32 [ -a action ] [ -A action mask ]
33
34 -d Use specified device. May also be given last after options.
35 -r Path to mounted relayfs, defaults to /relay.
36 -o File(s) to send output to.
37 -k Kill running trace.
38 -w Stop after defined time, in seconds.
39 -a Only trace specific actions (use more -a options to add actions).
40 Available actions are:
41
d0009925
JA
42 READ
43 WRITE
44 BARRIER
45 SYNC
46 QUEUE
47 REQUEUE
48 ISSUE
49 COMPLETE
50 FS
51 PC
ab197ca7
AB
52
53 -A Give the trace mask directly as a number.
54
52724a0e 55 -v Print program version info.
129aa440
JA
56 -b Sub buffer size in KiB.
57 -n Number of sub buffers.
52724a0e 58
ab197ca7
AB
59$ blkparse -i <input> [ -o <output> ] [ -b rb_batch ] [ -s ] [ -t ] [ -q ]
60 [ -w start:stop ] [ -f output format ] [ -F format spec ]
61
62 -i Input file containing trace data, or '-' for stdin.
63 -o Output file. If not given, output is stdout.
64 -b stdin read batching.
65 -s Show per-program io statistics.
bf0720af 66 -n Hash processes by name, not pid.
ab197ca7
AB
67 -t Track individual ios. Will tell you the time a request took to
68 get queued, to get dispatched, and to get completed.
69 -q Quiet. Don't display any stats at the end of the trace.
70 -w Only parse data between the given time interval in seconds. If
71 'start' isn't given, blkparse defaults the start time to 0.
72 -f Output format. Customize the output format. The format field
73 identifiers are:
74
75 %a - Action
76 %c - CPU ID
77 %C - Task command name
78 %d - Direction (r/w)
79 %D - Device number
80 %e - Error number
81 %M - Major
82 %m - Minor
1c8ca7b5
JA
83 %N - Number of bytes
84 %n - Number of sectors
ab197ca7
AB
85 %p - PID
86 %P - PDU
87 %s - Sequence number
88 %S - Sector number
89 %t - Time (wallclock - nanoseconds)
90 %T - Time (wallclock - seconds)
91 %u - Time (processing - microseconds)
638c1923 92 %U - Unplug depth
ab197ca7
AB
93
94 -F Format specification. The individual specifiers are:
95
96 B - Back merge
97 C - Complete
98 D - Issue
99 F - Front merge
100 G - Get request
b6076a9b 101 I - Insert
ab197ca7
AB
102 M - Both front and back merge
103 P - Plug
104 Q - Queue
105 R - Requeue
106 S - Sleep requests
107 T - Unplug timer
108 U - Unplug IO
93f1c611
JA
109 W - Bounce
110 X - Split
c1bd9d09 111
52724a0e 112 -v Print program version info.
c1bd9d09 113
d0009925
JA
114If you want to do live tracing, you can pipe the data between blktrace
115and blkparse:
116
117% blktrace -d <device> -o - | blkparse -i -
118
119This has a small risk of displaying some traces a little out of sync, since
120it will do batch sorts of input events. Similarly, you can do traces over
121the network with eg netcat:
122
123% blktrace -d /dev/sda -o - | netcat parsehost portno
ebc37a0b 124% netcat -l -p portno tracehost | blkparse -i -
d0009925
JA
125
126Which will send the traces from tracehost to parsehost over the network on
127the defined port number.
128
129
8d99d141
JA
130Resources
131---------
132
133vger hosts a mailing list dedicated to btrace discussion and development.
134The list is called linux-btrace@vger.kernel.org, subscribe by sending
135a mail to majordomo@vger.kernel.org with 'subscribe linux-btrace' in
136the mail body.
137
138
139
d0009925 14020050906, Jens Axboe <axboe@suse.de>
c1bd9d09 141