#! /bin/sh # Use gnuplot to generate plots from fio run with -l and/or -w if [ "$1"x = "x" ]; then echo Need title as arg exit 1 fi GNUPLOT=$(which gnuplot) if [ ! -x $GNUPLOT ]; then echo You need gnuplot installed to generate graphs exit 1 fi TITLE=$1 PLOT_LINE="" for i in *bw.log; do if [ ! -r $i ]; then continue fi PT=$(echo $i | sed s/_bw.log//g) if [ "$PLOT_LINE"x != "x" ]; then PLOT_LINE=$PLOT_LINE", " fi PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines" done if [ "$PLOT_LINE"x != "x" ]; then echo Making bw logs echo "set title 'Bandwidth - $TITLE'; set xlabel 'time (msec)'; set ylabel 'KB/sec'; set terminal png; set output '$TITLE-bw.png'; plot " $PLOT_LINE | $GNUPLOT - fi PLOT_LINE="" for i in *slat.log; do if [ ! -r $i ]; then continue fi PT=$(echo $i | sed s/_slat.log//g) if [ "$PLOT_LINE"x != "x" ]; then PLOT_LINE=$PLOT_LINE", " fi PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines" done if [ "$PLOT_LINE"x != "x" ]; then echo Making slat logs $PLOT_LINE echo "set title 'Submission latency - $TITLE'; set xlabel 'time (msec)'; set ylabel 'latency (msec)'; set terminal png; set output '$TITLE-slat.png'; plot " $PLOT_LINE | $GNUPLOT - fi PLOT_LINE="" for i in *clat.log; do if [ ! -r $i ]; then continue fi PT=$(echo $i | sed s/_clat.log//g) if [ "$PLOT_LINE"x != "x" ]; then PLOT_LINE=$PLOT_LINE", " fi PLOT_LINE=$PLOT_LINE"'$i' title '$PT' with lines" done if [ "$PLOT_LINE"x != "x" ]; then echo Making clat logs $PLOT_LINE echo "set title 'Completion latency - $TITLE'; set xlabel 'time (msec)'; set ylabel 'latency (msec)'; set terminal png; set output '$TITLE-clat.png'; plot " $PLOT_LINE | $GNUPLOT - fi