Commit | Line | Data |
---|---|---|
9e066e23 CM |
1 | iowatcher 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 | ||
11 | Output: | |
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 | ||
17 | Building: | |
18 | ||
aff25f0c ES |
19 | Type make and make install. We need ffmpeg or png2theora, and |
20 | librsvg to make movies, otherwise there are no dependencies. | |
9e066e23 CM |
21 | |
22 | The 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 | ||
aff25f0c ES |
38 | -m Create a movie. The file format depends on the extension used in the |
39 | -o filename.* option. If you specify an .ogv or .ogg extension, the | |
40 | result will be Ogg Theora video, if png2theora is available. | |
41 | If you use an .mp4 extension, the result will be an mp4 video if | |
42 | ffmpeg is avilable. You can use any other extension, but the end | |
43 | result will be an mp4. | |
5122a20d CM |
44 | |
45 | You can use --movie=spindle or --movie=rect, which changes the | |
46 | style of the IO mapping. | |
9e066e23 CM |
47 | |
48 | -T Set a title for the graph. This goes at the top of the image. | |
49 | ||
50 | -o output filename. The default is trace.svg. iowatcher is | |
51 | only able to create svg for now. | |
52 | ||
53 | -r control the duration in seconds for the rolling average. | |
54 | iowatcher tries to smooth out bumpy graphs by averaging the | |
55 | current second with seconds from the past. Longer numbers here | |
56 | give you flatter graphs. | |
57 | ||
58 | -O add a single graph to the output. By default all the graphs | |
59 | are included, but with -O you get only the graphs you ask for. | |
60 | -O may be used more than once. | |
61 | ||
62 | -N remove a single graph from the output. This may also be used more | |
63 | than once. | |
64 | ||
65 | Choices for -O and -N are: | |
5122a20d CM |
66 | io, tput, latency, queue_depth, iops, cpu-sys, cpu-io, |
67 | cpu-irq, cpu-user, cpu-soft | |
9e066e23 CM |
68 | |
69 | Examples: | |
70 | ||
71 | # generate graph from the existing trace.dump | |
72 | iowatcher -t trace.dump -o trace.svg | |
73 | ||
74 | # skip the IO graph | |
75 | iowatcher -t trace.dump -o trace.svg -N io | |
76 | ||
77 | # only graph tput and latency | |
78 | iowatcher -t trace.dump -o trace.svg -O tput -O latency | |
79 | ||
80 | # generate a graph from two runs, and label them | |
81 | iowatcher -t ext4.dump -t xfs.dump -l Ext4 -l XFS -o trace.svg | |
82 | ||
83 | # Run a fio benchmark and store the trace in trace.dump | |
84 | # add a title to the top. Use /dev/sda for blktrace | |
85 | iowatcher -d /dev/sda -t trace.dump -T 'Fio Benchmark' -p 'fio some_job_file' | |
86 | ||
5122a20d CM |
87 | # Make a movie from an existing trace |
88 | iowatcher -t trace --movie -o trace.mp4 | |
89 | ||
9e066e23 | 90 | Please email chris.mason@fusionio.com with any questions |