cart-elc

Source code for CART-ELC
git clone git://git.laack.co/cart-elc.git
Log | Files | Refs | README | LICENSE

make_plot.sh (2693B)


      1 #!/bin/bash
      2 
      3 # base name of the bench
      4 # it reads $1.out
      5 # and generates $1.pdf
      6 WHAT=$1
      7 bench=$2
      8 settings_file=$3
      9 
     10 header="rev "
     11 while read line
     12 do
     13   if [ ! -z '$line' ]; then
     14     header="$header  \"$line\""
     15   fi
     16 done < $settings_file
     17 
     18 echo $header > $WHAT.out.header
     19 cat $WHAT.out >> $WHAT.out.header
     20 
     21 
     22 echo "set title '$WHAT'" > $WHAT.gnuplot
     23 echo "set key autotitle columnhead outside " >> $WHAT.gnuplot
     24 echo "set xtics rotate 1" >> $WHAT.gnuplot
     25 
     26 echo "set term pdf color rounded enhanced fontscale 0.35 size 7in,5in" >> $WHAT.gnuplot
     27 echo set output "'"$WHAT.pdf"'" >> $WHAT.gnuplot
     28 
     29 col=`cat $settings_file | wc -l`
     30 echo "plot for [col=2:$col+1] '$WHAT.out.header' using 0:col:xticlabels(1) with lines" >> $WHAT.gnuplot
     31 echo " " >>  $WHAT.gnuplot
     32 
     33 gnuplot -persist < $WHAT.gnuplot
     34 
     35 # generate a png file (thumbnail)
     36 convert -colors 256 -background white -density 300 -resize 300  -quality 0 $WHAT.pdf -background white -flatten $WHAT.png
     37 
     38 # clean
     39 rm $WHAT.out.header $WHAT.gnuplot
     40 
     41 
     42 # generate html/svg graph
     43 
     44 echo " " > $WHAT.html
     45 cat resources/chart_header.html > $WHAT.html
     46 echo 'var customSettings = {"TITLE":"","SUBTITLE":"","XLABEL":"","YLABEL":""};' >> $WHAT.html
     47 #  'data' is an array of datasets (i.e. curves), each of which is an object of the form
     48 #  {
     49 #    key: <name of the curve>,
     50 #    color: <optional color of the curve>,
     51 #    values: [{
     52 #        r: <revision number>,
     53 #        v: <GFlops>
     54 #    }]
     55 #  }
     56 echo 'var data = [' >> $WHAT.html
     57 
     58 col=2
     59 while read line
     60 do
     61   if [ ! -z '$line' ]; then
     62     header="$header  \"$line\""
     63     echo '{"key":"'$line'","values":[' >> $WHAT.html
     64     i=0
     65     while read line2
     66     do
     67       if [ ! -z "$line2" ]; then
     68         val=`echo $line2 | cut -s -f $col -d ' '`
     69         if [ -n "$val" ]; then # skip build failures
     70           echo '{"r":'$i',"v":'$val'},' >> $WHAT.html
     71         fi
     72       fi
     73       ((i++))
     74     done < $WHAT.out
     75     echo ']},'  >> $WHAT.html
     76   fi
     77   ((col++))
     78 done < $settings_file
     79 echo '];'  >> $WHAT.html
     80 
     81 echo 'var changesets = [' >> $WHAT.html
     82 while read line2
     83 do
     84   if [ ! -z '$line2' ]; then
     85     echo '"'`echo $line2 | cut -f 1 -d ' '`'",' >> $WHAT.html
     86   fi
     87 done < $WHAT.out
     88 echo '];'  >> $WHAT.html
     89 
     90 echo 'var changesets_details = [' >> $WHAT.html
     91 while read line2
     92 do
     93   if [ ! -z '$line2' ]; then
     94     num=`echo "$line2" | cut -f 1 -d ' '`
     95     comment=`grep ":$num" changesets.txt | cut -f 2 -d '#'`
     96     echo '"'"$comment"'",' >> $WHAT.html
     97   fi
     98 done < $WHAT.out
     99 echo '];'  >> $WHAT.html
    100 
    101 echo 'var changesets_count = [' >> $WHAT.html
    102 i=0
    103 while read line2
    104 do
    105   if [ ! -z '$line2' ]; then
    106     echo $i ',' >> $WHAT.html
    107   fi
    108   ((i++))
    109 done < $WHAT.out
    110 echo '];'  >> $WHAT.html
    111 
    112 cat resources/chart_footer.html >> $WHAT.html