113 lines
2.6 KiB
Bash
113 lines
2.6 KiB
Bash
|
#!/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
|