iowatcher: Convert start_blktrace to run_program
[blktrace.git] / iowatcher / iowatcher.1
CommitLineData
02c48acb
AP
1.TH iowatcher 1
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
18\fB-d, --device\fP <device>
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
AP
20.TP
21\fB-D, --blktrace-destination\fP <destination>
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
27the program to be given as a single argument but it now flags that iowatcher
28should expect extra arguments to be run during the trace.
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
c1ab63ed 38\fB-t, --trace\fP <file|directory>
adb599a8
CM
39Controls the name of the blktrace file. iowatcher uses a dump from blkparse, so -t tries to guess the name of the corresponding per CPU blktrace data files if the dump file doesn't already exist.
40If you want more than one trace in a given graph, you can specify -t more than once.
c1ab63ed 41If a directory is specified, iowatcher will use the name of the directory as the base name of the dump file and all trace files found inside the directory will be processed.
02c48acb
AP
42.TP
43\fB-l, --label\fP <label>
adb599a8 44Sets a label in the graph for a trace file. The labels are added in the same order the trace files are added.
02c48acb
AP
45.TP
46\fB-m, --movie\fP [spindle|rect]
adb599a8
CM
47Create a movie. The file format depends on the extension used in the -o filename.* option. If you specify an .ogv or .ogg extension, the result will be Ogg Theora video, if png2theora is available.
48If you use an .mp4 extension, the result will be an mp4 video if ffmpeg is available. You can use any other extension, but the end result will be an mp4.
49You can use --movie=spindle or --movie=rect, which changes the style of the IO mapping.
02c48acb
AP
50.TP
51\fB-T, --title\fP <title>
52Set a title to be placed at the top of the graph.
53.TP
54\fB-o, --output\fP <file>
55Output filename (default: trace.svg).
56.TP
57\fB-r, --rolling\fP <seconds>
adb599a8 58Control the duration for the rolling average. iowatcher tries to smooth out bumpy graphs by averaging the current second with seconds from the past. Larger numbers here give you flatter graphs.
02c48acb
AP
59.TP
60\fB-h, --height\fP <height>
61Set the height of each graph
62.TP
63\fB-w, --width\fP <width>
64Set the width of each graph
65.TP
66\fB-c, --columns\fP <columns>
67Numbers of columns in graph output
68.TP
69\fB-x, --xzoom\fP <min:max>
70Limit processed time range to min:max
71.TP
72\fB-y, --yzoom\fP <min:max>
73Limit processed sectors to min:max
74.TP
75\fB-a, --io-plot-action\fP <action>
76Plot given action (one of Q,D,C) in IO graph
77.TP
78\fB-P, --per-process-io\fP
79Distinguish between processes in IO graph
80.TP
81\fB-O, --only-graph\fP <graph>
adb599a8 82Add a single graph to the output (see GRAPHS). By default all the graphs are included, but with -O you get only the graphs you ask for. -O may be used more than once.
02c48acb
AP
83.TP
84\fB-N, --no-graph\fP <type>
adb599a8 85Remove a single graph from the output (see GRAPHS). This may also be used more than once.
02c48acb
AP
86.SH GRAPHS
87Choices for -O and -N are:
adb599a8 88 io, tput, latency, queue_depth, iops, cpu-sys, cpu-io, cpu-irq, cpu-user, cpu-soft
02c48acb
AP
89
90.SH EXAMPLES
91Generate graph from the existing trace.dump:
92.PP
93.RS
94iowatcher -t trace.dump -o trace.svg
95.RE
96.PP
97Skip the IO graph:
98.PP
99.RS
100iowatcher -t trace.dump -o trace.svg -N io
101.RE
102.PP
103Only graph tput and latency:
104.PP
105.RS
106iowatcher -t trace.dump -o trace.svg -O tput -O latency
107.RE
108.PP
109Generate a graph from two runs, and label them:
110.PP
111.RS
112iowatcher -t ext4.dump -t xfs.dump -l Ext4 -l XFS -o trace.svg
113.RE
114.PP
adb599a8 115Run a fio benchmark and store the trace in trace.dump, add a title to the top, use /dev/sda for blktrace:
02c48acb
AP
116.PP
117.RS
adb599a8 118iowatcher -d /dev/sda -t trace.dump -T 'Fio Benchmark' -p 'fio some_job_file'
02c48acb
AP
119.RE
120.PP
121Make a movie from an existing trace:
122.PP
123.RS
124iowatcher -t trace --movie -o trace.mp4
125.RE
adb599a8 126