|  | #!/bin/bash | 
|  |  | 
|  | # base name of the bench | 
|  | # it reads $1.out | 
|  | # and generates $1.pdf | 
|  | WHAT=$1 | 
|  | bench=$2 | 
|  | settings_file=$3 | 
|  |  | 
|  | header="rev " | 
|  | while read line | 
|  | do | 
|  | if [ ! -z '$line' ]; then | 
|  | header="$header  \"$line\"" | 
|  | fi | 
|  | done < $settings_file | 
|  |  | 
|  | echo $header > $WHAT.out.header | 
|  | cat $WHAT.out >> $WHAT.out.header | 
|  |  | 
|  |  | 
|  | echo "set title '$WHAT'" > $WHAT.gnuplot | 
|  | echo "set key autotitle columnhead outside " >> $WHAT.gnuplot | 
|  | echo "set xtics rotate 1" >> $WHAT.gnuplot | 
|  |  | 
|  | echo "set term pdf color rounded enhanced fontscale 0.35 size 7in,5in" >> $WHAT.gnuplot | 
|  | echo set output "'"$WHAT.pdf"'" >> $WHAT.gnuplot | 
|  |  | 
|  | col=`cat $settings_file | wc -l` | 
|  | echo "plot for [col=2:$col+1] '$WHAT.out.header' using 0:col:xticlabels(1) with lines" >> $WHAT.gnuplot | 
|  | echo " " >>  $WHAT.gnuplot | 
|  |  | 
|  | gnuplot -persist < $WHAT.gnuplot | 
|  |  | 
|  | # generate a png file (thumbnail) | 
|  | convert -colors 256 -background white -density 300 -resize 300  -quality 0 $WHAT.pdf -background white -flatten $WHAT.png | 
|  |  | 
|  | # clean | 
|  | rm $WHAT.out.header $WHAT.gnuplot | 
|  |  | 
|  |  | 
|  | # generate html/svg graph | 
|  |  | 
|  | echo " " > $WHAT.html | 
|  | cat resources/chart_header.html > $WHAT.html | 
|  | echo 'var customSettings = {"TITLE":"","SUBTITLE":"","XLABEL":"","YLABEL":""};' >> $WHAT.html | 
|  | #  'data' is an array of datasets (i.e. curves), each of which is an object of the form | 
|  | #  { | 
|  | #    key: <name of the curve>, | 
|  | #    color: <optional color of the curve>, | 
|  | #    values: [{ | 
|  | #        r: <revision number>, | 
|  | #        v: <GFlops> | 
|  | #    }] | 
|  | #  } | 
|  | echo 'var data = [' >> $WHAT.html | 
|  |  | 
|  | col=2 | 
|  | while read line | 
|  | do | 
|  | if [ ! -z '$line' ]; then | 
|  | header="$header  \"$line\"" | 
|  | echo '{"key":"'$line'","values":[' >> $WHAT.html | 
|  | i=0 | 
|  | while read line2 | 
|  | do | 
|  | if [ ! -z "$line2" ]; then | 
|  | val=`echo $line2 | cut -s -f $col -d ' '` | 
|  | if [ -n "$val" ]; then # skip build failures | 
|  | echo '{"r":'$i',"v":'$val'},' >> $WHAT.html | 
|  | fi | 
|  | fi | 
|  | ((i++)) | 
|  | done < $WHAT.out | 
|  | echo ']},'  >> $WHAT.html | 
|  | fi | 
|  | ((col++)) | 
|  | done < $settings_file | 
|  | echo '];'  >> $WHAT.html | 
|  |  | 
|  | echo 'var changesets = [' >> $WHAT.html | 
|  | while read line2 | 
|  | do | 
|  | if [ ! -z '$line2' ]; then | 
|  | echo '"'`echo $line2 | cut -f 1 -d ' '`'",' >> $WHAT.html | 
|  | fi | 
|  | done < $WHAT.out | 
|  | echo '];'  >> $WHAT.html | 
|  |  | 
|  | echo 'var changesets_details = [' >> $WHAT.html | 
|  | while read line2 | 
|  | do | 
|  | if [ ! -z '$line2' ]; then | 
|  | num=`echo "$line2" | cut -f 1 -d ' '` | 
|  | comment=`grep ":$num" changesets.txt | cut -f 2 -d '#'` | 
|  | echo '"'"$comment"'",' >> $WHAT.html | 
|  | fi | 
|  | done < $WHAT.out | 
|  | echo '];'  >> $WHAT.html | 
|  |  | 
|  | echo 'var changesets_count = [' >> $WHAT.html | 
|  | i=0 | 
|  | while read line2 | 
|  | do | 
|  | if [ ! -z '$line2' ]; then | 
|  | echo $i ',' >> $WHAT.html | 
|  | fi | 
|  | ((i++)) | 
|  | done < $WHAT.out | 
|  | echo '];'  >> $WHAT.html | 
|  |  | 
|  | cat resources/chart_footer.html >> $WHAT.html |