parse: if profile is set, only show options relevant to the profile
[fio.git] / fio_generate_plots
... / ...
CommitLineData
1#! /bin/sh
2
3# Use gnuplot to generate plots from fio run with -l and/or -w
4
5if [ "$1"x = "x" ]; then
6 echo "Usage: fio_generate_plots title [xres yres]"
7 exit 1
8fi
9
10GNUPLOT=$(which gnuplot)
11if [ ! -x "$GNUPLOT" ]; then
12 echo You need gnuplot installed to generate graphs
13 exit 1
14fi
15
16TITLE=$1
17
18# set resolution
19if [ "$2"x != "x" -a "$3"x != "x" ]; then
20 XRES="$2"
21 YRES="$3"
22else
23 XRES=1024
24 YRES=768
25fi
26
27PLOT_LINE=""
28for i in *bw.log; do
29 if [ ! -r $i ]; then
30 continue
31 fi
32 PT=$(echo $i | sed s/_bw.log//g)
33 if [ "$PLOT_LINE"x != "x" ]; then
34 PLOT_LINE=$PLOT_LINE", "
35 fi
36
37 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
38done
39
40if [ "$PLOT_LINE"x != "x" ]; then
41 echo Making bw logs
42 echo "set title 'Bandwidth - $TITLE'; set xlabel 'time (msec)'; set ylabel 'KB/sec'; set terminal png size $XRES,$YRES; set output '$TITLE-bw.png'; plot " $PLOT_LINE | $GNUPLOT -
43fi
44
45PLOT_LINE=""
46for i in *iops.log; do
47 if [ ! -r $i ]; then
48 continue
49 fi
50 PT=$(echo $i | sed s/_iops.log//g)
51 if [ "$PLOT_LINE"x != "x" ]; then
52 PLOT_LINE=$PLOT_LINE", "
53 fi
54
55 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
56done
57
58if [ "$PLOT_LINE"x != "x" ]; then
59 echo Making bw logs
60 echo "set title 'IOPS - $TITLE'; set xlabel 'time (msec)'; set ylabel 'IOPS'; set terminal png size $XRES,$YRES; set output '$TITLE-IOPS.png'; plot " $PLOT_LINE | $GNUPLOT -
61fi
62
63PLOT_LINE=""
64for i in *slat.log; do
65 if [ ! -r $i ]; then
66 continue
67 fi
68 PT=$(echo $i | sed s/_slat.log//g)
69 if [ "$PLOT_LINE"x != "x" ]; then
70 PLOT_LINE=$PLOT_LINE", "
71 fi
72
73 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
74done
75
76if [ "$PLOT_LINE"x != "x" ]; then
77 echo Making slat logs $PLOT_LINE
78 echo "set title 'Submission latency - $TITLE'; set xlabel 'time (msec)'; set ylabel 'latency (msec)'; set terminal png size $XRES,$YRES; set output '$TITLE-slat.png'; plot " $PLOT_LINE | $GNUPLOT -
79fi
80
81PLOT_LINE=""
82for i in *clat.log; do
83 if [ ! -r $i ]; then
84 continue
85 fi
86 PT=$(echo $i | sed s/_clat.log//g)
87 if [ "$PLOT_LINE"x != "x" ]; then
88 PLOT_LINE=$PLOT_LINE", "
89 fi
90
91 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
92done
93
94if [ "$PLOT_LINE"x != "x" ]; then
95 echo Making clat logs $PLOT_LINE
96 echo "set title 'Completion latency - $TITLE'; set xlabel 'time (msec)'; set ylabel 'latency (msec)'; set terminal png size $XRES,$YRES; set output '$TITLE-clat.png'; plot " $PLOT_LINE | $GNUPLOT -
97fi
98
99PLOT_LINE=""
100for i in *_lat.log; do
101 if [ ! -r $i ]; then
102 continue
103 fi
104 PT=$(echo $i | sed s/_lat.log//g)
105 if [ "$PLOT_LINE"x != "x" ]; then
106 PLOT_LINE=$PLOT_LINE", "
107 fi
108
109 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
110done
111
112if [ "$PLOT_LINE"x != "x" ]; then
113 echo Making lat logs $PLOT_LINE
114 echo "set title 'Latency - $TITLE'; set xlabel 'time (msec)'; set ylabel 'latency (msec)'; set terminal png size $XRES,$YRES; set output '$TITLE-lat.png'; plot " $PLOT_LINE | $GNUPLOT -
115fi