Fixup graph name in help text
[blktrace.git] / doc / iowatcher.1
CommitLineData
1775e06b 1.TH iowatcher "1" "April 2014" "iowatcher" "User Commands"
02c48acb
AP
2
3.SH NAME
4iowatcher - Create visualizations from blktrace results
5
6.SH SYNOPSIS
7.B iowatcher
ce225d50 8\fI[options]\fR [--] \fI[program arguments ...]\fR
02c48acb
AP
9
10.SH DESCRIPTION
adb599a8 11iowatcher graphs the results of a blktrace run. It can graph the result of an existing blktrace, start a new blktrace, or start a new blktrace and a benchmark run. It can then create an image or movie of the IO from a given trace. iowatcher can produce either SVG files or movies in mp4 format (with ffmpeg) or ogg format (with png2theora).
02c48acb
AP
12
13.SH OPTIONS
14.TP
15\fB--help\fP
16Print a brief usage summary.
17.TP
1775e06b 18\fB-d, --device\fP \fIdevice\fP
adb599a8 19Controls which device you are tracing. You can only trace one device at a time for now. It is sent directly to blktrace, and only needed when you are making a new trace.
02c48acb 20.TP
1775e06b 21\fB-D, --blktrace-destination\fP \fIdestination\fP
02c48acb
AP
22Destination for blktrace.
23.TP
ce225d50
AP
24\fB-p, --prog\fP
25Run a program while blktrace is run. The program and its arguments must be
26specified after all other options. Note that this option previously required
1775e06b
AP
27the program to be given as a single argument but it now tells \fBiowatcher\fP
28to expect extra arguments which it should be run during the trace.
ce225d50
AP
29.TP
30\fB--\fP
31End option parsing. If \fB--prog\fP is specified, everything after \fB--\fP is
32the program to be run. This can be useful if the program name could otherwise
33be mistaken for an option.
02c48acb
AP
34.TP
35\fB-K, --keep-movie-svgs\fP
36Keep the SVG files generated for movie mode.
37.TP
1775e06b
AP
38\fB-t, --trace\fP \fIpath\fP
39Specify the name of the file or directory in which blktrace output is located.
40\fBiowatcher\fP uses a dump from blkparse, so this option tries to guess the
41name of the corresponding per-CPU blktrace data files if the dump file doesn't
42already exist. To add multiple traces to a given graph, you can specify
43\fB--trace\fP more than once. If \fIpath\fP is a directory, \fBiowatcher\fP
44will use the name of the directory as the base name of the dump file and all
45trace files found inside the directory will be processed.
46.TP
47\fB-l, --label\fP \fIlabel\fP
48Sets a label in the graph for a trace file. The labels are added in the same order as the trace files.
49.TP
50\fB-m, --movie\fP \fI[style]\fP
51Create a movie. The file format depends on the extension used in the \fB-o\fP
52\fIfile\fP option. If you specify an .ogv or .ogg extension, the result will
53be Ogg Theora video, if png2theora is available. If you use an .mp4 extension,
54the result will be an mp4 video if ffmpeg is available. You can use any other
55extension, but the end result will be an mp4. The accepted \fIstyle\fP values
56are \fBspindle\fP for a circular disc-like effect (default) or \fBrect\fP for a
57rectangular graph style.
58.TP
59\fB-T, --title\fP \fItitle\fP
60Set a \fItitle\fP to be placed at the top of the graph.
61.TP
62\fB-o, --output\fP \fIfile\fP
63Output filename for the SVG image or video. The video format used will depend
64on the file name extension. See \fB--movie\fP for details.
65.TP
66\fB-r, --rolling\fP \fIseconds\fP
67Control the duration for the rolling average. \fBiowatcher\fP tries to smooth out bumpy graphs by averaging the current second with seconds from the past. Larger numbers here give you flatter graphs.
68.TP
69\fB-h, --height\fP \fIheight\fP
02c48acb
AP
70Set the height of each graph
71.TP
1775e06b 72\fB-w, --width\fP \fIwidth\fP
02c48acb
AP
73Set the width of each graph
74.TP
1775e06b
AP
75\fB-c, --columns\fP \fIcolumns\fP
76Number of columns in graph output
02c48acb 77.TP
1775e06b
AP
78\fB-x, --xzoom\fP \fImin:max\fP
79Limit processed time range to \fImin:max\fP.
02c48acb 80.TP
1775e06b
AP
81\fB-y, --yzoom\fP \fImin:max\fP
82Limit processed sectors to \fImin:max\fP.
02c48acb 83.TP
1775e06b
AP
84\fB-a, --io-plot-action\fP \fIaction\fP
85Plot \fIaction\fP (one of Q, D, or C) in the IO graph.
02c48acb
AP
86.TP
87\fB-P, --per-process-io\fP
1775e06b 88Distinguish between processes in the IO graph.
02c48acb 89.TP
1775e06b
AP
90\fB-O, --only-graph\fP \fIgraph\fP
91Add a single graph to the output (see section \fBGRAPHS\fP for options). By
92default all graphs are included. Use \fB-O\fP to generate only the required
93graphs. \fB-O\fP may be used more than once.
02c48acb 94.TP
1775e06b
AP
95\fB-N, --no-graph\fP \fItype\fP
96Remove a single graph from the output (see section \fBGRAPHS\fP for options).
97This option may be used more than once.
02c48acb 98.SH GRAPHS
1775e06b
AP
99Values accepted by the \fB-O\fP and \fB-N\fP options are:
100
adb599a8 101 io, tput, latency, queue_depth, iops, cpu-sys, cpu-io, cpu-irq, cpu-user, cpu-soft
02c48acb
AP
102
103.SH EXAMPLES
104Generate graph from the existing trace.dump:
105.PP
106.RS
1775e06b 107# iowatcher -t trace
02c48acb
AP
108.RE
109.PP
110Skip the IO graph:
111.PP
112.RS
1775e06b 113# iowatcher -t trace.dump -o trace.svg -N io
02c48acb
AP
114.RE
115.PP
116Only graph tput and latency:
117.PP
118.RS
1775e06b 119# iowatcher -t trace.dump -o trace.svg -O tput -O latency
02c48acb
AP
120.RE
121.PP
122Generate a graph from two runs, and label them:
123.PP
124.RS
1775e06b 125# iowatcher -t ext4.dump -t xfs.dump -l Ext4 -l XFS -o trace.svg
02c48acb
AP
126.RE
127.PP
adb599a8 128Run a fio benchmark and store the trace in trace.dump, add a title to the top, use /dev/sda for blktrace:
02c48acb
AP
129.PP
130.RS
1775e06b 131# iowatcher -d /dev/sda -t trace.dump -T 'Fio Benchmark' -p fio some_job_file
02c48acb
AP
132.RE
133.PP
134Make a movie from an existing trace:
135.PP
136.RS
1775e06b 137# iowatcher -t trace --movie -o trace.mp4
02c48acb 138.RE
adb599a8 139
1775e06b
AP
140.SH AUTHORS
141iowatcher was created and is maintained by Chris Mason.
142
143This man page was largely written by Andrew Price based on Chris's original README.
144
145.SH COPYRIGHT
146This program is free software; you can redistribute it and/or modify it under
147the terms of the GNU General Public License v2 as published by the Free
148Software Foundation.
149
150This program is distributed in the hope that it will be useful, but WITHOUT ANY
151WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
152PARTICULAR PURPOSE. See the GNU General Public License for more details.
153
154You should have received a copy of the GNU General Public License along with
155this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
156Street, Fifth Floor, Boston, MA 02110-1301 USA
157
158.SH "SEE ALSO"
159.BR blktrace (8),
160.BR blkparse (1),
161.BR fio (1),
162.BR mpstat (1)