diff options
Diffstat (limited to 'db-4.8.30/test_micro/report')
-rw-r--r-- | db-4.8.30/test_micro/report | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/db-4.8.30/test_micro/report b/db-4.8.30/test_micro/report new file mode 100644 index 0000000..c7358db --- /dev/null +++ b/db-4.8.30/test_micro/report @@ -0,0 +1,121 @@ +#! /bin/sh +# +# $Id$ + +# Use our pathname to locate the absolute path for our awk scripts. +t=`dirname $0` +h=`(cd $t && echo $PWD)` + +# We need a temporary file, and we need to clean it up after failure. +tmp="$PWD/__t" +trap 'rm -f $tmp; exit 1' 1 2 3 13 15 +trap 'rm -f $tmp; exit 0' 0 + +# header -- +# Output HTML page header. +# $1: directory name. +header() +{ + echo "<html>" + echo "<head>" + machine=`echo $1 | sed 's/.*\.//'` + echo "<title>Berkeley DB test_micro run: $machine</title>" + echo "</head>" + echo "<body bgcolor=white>" + echo "<center><h1>Berkeley DB test_micro run: $machine</h1></center>" + echo "<p align=right>`date`</p>" + test -f UNAME && cat UNAME +} + +# footer -- +# Output HTML page footer. +footer() +{ + echo "</body>" + echo "</html>" +} + +# table -- +# Create a table. +# $1: output file +table() +{ + title="Test $1: `egrep '^#' $1 | sort -u | sed 's/^#[ ]*//'`" + echo "<hr size=1 noshade>" + echo "<table cellspacing=0 cellpadding=0 border=0>" + echo "<th align=left colspan=2>$title</th>" + echo "<tr>" + echo "<th align=right>Release</th>" + echo "<th align=center>Operations/second</th>" + echo "</tr>" + + # You can set the MAJOR and MINOR environment variables to limit + # the BDB releases for which a report is created. + # + # Process the output into a single line per release. + egrep "^${MAJOR:-[0-9][0-9]*}.${MINOR:-*}" $1 | + awk -f $h/report.awk | + sort -n > $tmp + + # Get the release count, and maximum value. + nrel=`wc -l $tmp` + max=`sort -k 2 -n -t ":" < $tmp | tail -1 | awk -F: '{print $2}'` + + # Display the output. + IFS=":" + cat $tmp | while true; do + # release, average, runs, percent, standard deviation + read rel avg runs percent rsd + if test "X$rel" = "X" ; then + break; + fi + + # echo "read: rel $rel, avg $avg, runs $runs, percent $percent, rsd $rsd" > /dev/stderr + + echo "<tr>" + echo "<td align=right width=80><pre>$rel</pre></td>" + echo "<td>" + echo "<table>" + echo "<tr>" + if [ "$max" = "0.00" ];then + t=0 + else + t=`echo "400 * ($avg/($max + $max/10))" | bc -l` + fi + t=`printf %.0f $t` + echo "<td bgcolor='#003366' width=$t> </td>" + t=`echo "400 - $t" | bc` + echo "<td bgcolor='#CCCCCC' width=$t> </td>" + echo "<td> </td>" + echo "<td align=right width=100><pre>$avg</pre></td>" + if test "X$percent" != "X" -o "X$rsd" != "X"; then + echo -n "<td align=right><pre> (" + if test "X$percent" = "X"; then + echo -n '***' + else + echo -n "-$percent" + fi + if test "X$rsd" != "X"; then + echo -n ", $rsd rsd, $runs runs" + fi + echo ")</pre></td>" + fi + echo "</tr>" + echo "</table>" + echo "</tr>" + done + echo "</table>" +} + +for i in RUN.*; do + echo "Building $i..." + name=`echo $i | sed 's/RUN.//'` + (cd $i + header $i + for j in `ls [0-9]* | sort -n`; do + table $j + done + footer) > $i/$name.html +done + +exit 0 |