iowatcher: Fix path name handling when the trace files are in the current directory
[blktrace.git] / iowatcher / README
CommitLineData
9e066e23
CM
1iowatcher graphs the results of a blktrace run. It has a few different modes:
2
5122a20d 3 * Graph the result of an existing blktrace
9e066e23 4
5122a20d 5 * Start a new blktrace
9e066e23 6
5122a20d
CM
7 * Start a new blktrace and a benchmark run
8
9 * Make a movie of the IO from a given trace (only mp4 for now)
10
11Output:
12
13 iowatcher can produce either svg files or mp4 movies. Most browsers
14 can view the svg files, or you can use rsvg-view-3 from librsvg.
15 rsvg-convert can turn the svgs into many other formats.
16
17Building:
18
19 Type make and make install. We need ffmpeg and librsvg to make
20 movies, otherwise there are no dependencies.
9e066e23
CM
21
22The basic options:
23
5122a20d
CM
24 -d controls which device you are tracing. You can only trace one device
25 at a time for now. It is sent directly to blktrace, and only
26 needed when you are making a new trace.
9e066e23
CM
27
28 -t controls the name of the blktrace file. iowatcher uses a dump from
29 blkparse, so -t tries to guess the name of the corresponding
30 per CPU blktrace data files if the dump file doesn't already exist.
31
32 If you want more than one trace in a given graph, you can specify
33 -t more than once.
34
5122a20d
CM
35 -l Sets a label in the graph for a trace file. The labels are added in
36 the same order the trace files are added.
37
38 -m Create a movie. This defaults to the mp4 file format, and you
39 should also use -o filename.mp4. You can use any other filename,
40 but the end result will be an mp4.
41
42 You can use --movie=spindle or --movie=rect, which changes the
43 style of the IO mapping.
9e066e23
CM
44
45 -T Set a title for the graph. This goes at the top of the image.
46
47 -o output filename. The default is trace.svg. iowatcher is
48 only able to create svg for now.
49
50 -r control the duration in seconds for the rolling average.
51 iowatcher tries to smooth out bumpy graphs by averaging the
52 current second with seconds from the past. Longer numbers here
53 give you flatter graphs.
54
55 -O add a single graph to the output. By default all the graphs
56 are included, but with -O you get only the graphs you ask for.
57 -O may be used more than once.
58
59 -N remove a single graph from the output. This may also be used more
60 than once.
61
62 Choices for -O and -N are:
5122a20d
CM
63 io, tput, latency, queue_depth, iops, cpu-sys, cpu-io,
64 cpu-irq, cpu-user, cpu-soft
9e066e23
CM
65
66Examples:
67
68 # generate graph from the existing trace.dump
69 iowatcher -t trace.dump -o trace.svg
70
71 # skip the IO graph
72 iowatcher -t trace.dump -o trace.svg -N io
73
74 # only graph tput and latency
75 iowatcher -t trace.dump -o trace.svg -O tput -O latency
76
77 # generate a graph from two runs, and label them
78 iowatcher -t ext4.dump -t xfs.dump -l Ext4 -l XFS -o trace.svg
79
80 # Run a fio benchmark and store the trace in trace.dump
81 # add a title to the top. Use /dev/sda for blktrace
82 iowatcher -d /dev/sda -t trace.dump -T 'Fio Benchmark' -p 'fio some_job_file'
83
5122a20d
CM
84 # Make a movie from an existing trace
85 iowatcher -t trace --movie -o trace.mp4
86
9e066e23 87Please email chris.mason@fusionio.com with any questions