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