iowatcher: Add bounds checking in find_step
[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
8\fIOPTIONS...\fR
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
24\fB-p, --prog\fP <program>
25Program to run while blktrace is run.
26.TP
27\fB-K, --keep-movie-svgs\fP
28Keep the SVG files generated for movie mode.
29.TP
30\fB-t, --trace\fP <file>
adb599a8
CM
31Controls 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.
32If you want more than one trace in a given graph, you can specify -t more than once.
02c48acb
AP
33.TP
34\fB-l, --label\fP <label>
adb599a8 35Sets a label in the graph for a trace file. The labels are added in the same order the trace files are added.
02c48acb
AP
36.TP
37\fB-m, --movie\fP [spindle|rect]
adb599a8
CM
38Create 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.
39If 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.
40You can use --movie=spindle or --movie=rect, which changes the style of the IO mapping.
02c48acb
AP
41.TP
42\fB-T, --title\fP <title>
43Set a title to be placed at the top of the graph.
44.TP
45\fB-o, --output\fP <file>
46Output filename (default: trace.svg).
47.TP
48\fB-r, --rolling\fP <seconds>
adb599a8 49Control 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
50.TP
51\fB-h, --height\fP <height>
52Set the height of each graph
53.TP
54\fB-w, --width\fP <width>
55Set the width of each graph
56.TP
57\fB-c, --columns\fP <columns>
58Numbers of columns in graph output
59.TP
60\fB-x, --xzoom\fP <min:max>
61Limit processed time range to min:max
62.TP
63\fB-y, --yzoom\fP <min:max>
64Limit processed sectors to min:max
65.TP
66\fB-a, --io-plot-action\fP <action>
67Plot given action (one of Q,D,C) in IO graph
68.TP
69\fB-P, --per-process-io\fP
70Distinguish between processes in IO graph
71.TP
72\fB-O, --only-graph\fP <graph>
adb599a8 73Add 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
74.TP
75\fB-N, --no-graph\fP <type>
adb599a8 76Remove a single graph from the output (see GRAPHS). This may also be used more than once.
02c48acb
AP
77.SH GRAPHS
78Choices for -O and -N are:
adb599a8 79 io, tput, latency, queue_depth, iops, cpu-sys, cpu-io, cpu-irq, cpu-user, cpu-soft
02c48acb
AP
80
81.SH EXAMPLES
82Generate graph from the existing trace.dump:
83.PP
84.RS
85iowatcher -t trace.dump -o trace.svg
86.RE
87.PP
88Skip the IO graph:
89.PP
90.RS
91iowatcher -t trace.dump -o trace.svg -N io
92.RE
93.PP
94Only graph tput and latency:
95.PP
96.RS
97iowatcher -t trace.dump -o trace.svg -O tput -O latency
98.RE
99.PP
100Generate a graph from two runs, and label them:
101.PP
102.RS
103iowatcher -t ext4.dump -t xfs.dump -l Ext4 -l XFS -o trace.svg
104.RE
105.PP
adb599a8 106Run a fio benchmark and store the trace in trace.dump, add a title to the top, use /dev/sda for blktrace:
02c48acb
AP
107.PP
108.RS
adb599a8 109iowatcher -d /dev/sda -t trace.dump -T 'Fio Benchmark' -p 'fio some_job_file'
02c48acb
AP
110.RE
111.PP
112Make a movie from an existing trace:
113.PP
114.RS
115iowatcher -t trace --movie -o trace.mp4
116.RE
adb599a8 117