blob: 4285415eac2879da04850369a6aab7a067c5518f [file] [log] [blame]
YAMAMOTO Takashi40cfddb2010-06-02 08:24:03 +02001#! /bin/sh
Jens Axboeebac4652005-12-08 15:25:21 +01002
3# Use gnuplot to generate plots from fio run with -l and/or -w
4
YAMAMOTO Takashi40cfddb2010-06-02 08:24:03 +02005if [ "$1"x = "x" ]; then
Martin Steigerwald4d1577b2011-08-05 19:47:51 +02006 echo "Usage: fio_generate_plots title [xres yres]"
Jens Axboeebac4652005-12-08 15:25:21 +01007 exit 1
8fi
9
Jens Axboe16184952006-06-12 10:28:06 +020010GNUPLOT=$(which gnuplot)
11if [ ! -x $GNUPLOT ]; then
12 echo You need gnuplot installed to generate graphs
13 exit 1
14fi
15
Jens Axboeebac4652005-12-08 15:25:21 +010016TITLE=$1
17
Martin Steigerwald4d1577b2011-08-05 19:47:51 +020018# 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
Jens Axboeebac4652005-12-08 15:25:21 +010027PLOT_LINE=""
28for i in *bw.log; do
29 if [ ! -r $i ]; then
30 continue
31 fi
Jens Axboe84f83172008-04-04 23:15:19 +020032 PT=$(echo $i | sed s/_bw.log//g)
Jens Axboeebac4652005-12-08 15:25:21 +010033 if [ "$PLOT_LINE"x != "x" ]; then
34 PLOT_LINE=$PLOT_LINE", "
35 fi
36
Jens Axboe84f83172008-04-04 23:15:19 +020037 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
Jens Axboeebac4652005-12-08 15:25:21 +010038done
39
40if [ "$PLOT_LINE"x != "x" ]; then
41 echo Making bw logs
Martin Steigerwald4d1577b2011-08-05 19:47:51 +020042 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 -
Jens Axboeebac4652005-12-08 15:25:21 +010043fi
44
45PLOT_LINE=""
Jens Axboec8eeb9d2011-10-05 14:02:22 +020046for 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=""
Jens Axboeebac4652005-12-08 15:25:21 +010064for i in *slat.log; do
65 if [ ! -r $i ]; then
66 continue
67 fi
Jens Axboe84f83172008-04-04 23:15:19 +020068 PT=$(echo $i | sed s/_slat.log//g)
Jens Axboeebac4652005-12-08 15:25:21 +010069 if [ "$PLOT_LINE"x != "x" ]; then
70 PLOT_LINE=$PLOT_LINE", "
71 fi
72
Jens Axboe84f83172008-04-04 23:15:19 +020073 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
Jens Axboeebac4652005-12-08 15:25:21 +010074done
75
76if [ "$PLOT_LINE"x != "x" ]; then
77 echo Making slat logs $PLOT_LINE
Martin Steigerwald4d1577b2011-08-05 19:47:51 +020078 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 -
Jens Axboeebac4652005-12-08 15:25:21 +010079fi
80
81PLOT_LINE=""
82for i in *clat.log; do
83 if [ ! -r $i ]; then
84 continue
85 fi
Jens Axboe84f83172008-04-04 23:15:19 +020086 PT=$(echo $i | sed s/_clat.log//g)
Jens Axboeebac4652005-12-08 15:25:21 +010087 if [ "$PLOT_LINE"x != "x" ]; then
88 PLOT_LINE=$PLOT_LINE", "
89 fi
90
Jens Axboe84f83172008-04-04 23:15:19 +020091 PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines"
Jens Axboeebac4652005-12-08 15:25:21 +010092done
93
94if [ "$PLOT_LINE"x != "x" ]; then
95 echo Making clat logs $PLOT_LINE
Martin Steigerwald4d1577b2011-08-05 19:47:51 +020096 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 -
Jens Axboeebac4652005-12-08 15:25:21 +010097fi
Jens Axboe02af0982010-06-24 09:59:34 +020098
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
Martin Steigerwald4d1577b2011-08-05 19:47:51 +0200114 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 -
Jens Axboe02af0982010-06-24 09:59:34 +0200115fi