diff options
Diffstat (limited to 'ACE/bin/performance_stats.sh')
-rwxr-xr-x | ACE/bin/performance_stats.sh | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/ACE/bin/performance_stats.sh b/ACE/bin/performance_stats.sh new file mode 100755 index 00000000000..85143de5d71 --- /dev/null +++ b/ACE/bin/performance_stats.sh @@ -0,0 +1,199 @@ +#!/bin/sh +# +# $Id$ +# + +if [ $# -lt 2 ]; then + echo "Usage: $0 <ACE_ROOT> <DEST>" + exit 0 +fi + +ACE_ROOT=$1 +DEST=$2 +DATE=`date +%Y/%m/%d-%H:%M` + +COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool AMH_Single_Threaded" + +SEQUENCE_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool AMH_Single_Threaded" + +SEQ_TEST_TYPE="octet long short char double longlong" + +cd $DEST/source + +/bin/sync +sleep 10 +( + cd $ACE_ROOT/performance-tests/TCP; + ./run_test.pl +) >tcp_test.log 2>&1 + +if grep -q 'Client throughput: ' tcp_test.log; then + ( + echo -n $DATE " "; + awk '/^Client throughput:/ {print $3}' tcp_test.log + ) >> TCP.txt; +fi + +/bin/sync +sleep 10 +( + cd $ACE_ROOT/TAO/performance-tests/Latency/Single_Threaded; + ./default_configuration.pl > $DEST/source/Default.log 2>&1 +) +if grep -q 'Total throughput: ' Default.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' Default.log + ) >> Default.txt +fi + +/bin/sync +sleep 2 +( + cd $ACE_ROOT/TAO/performance-tests/Sequence_Latency/Single_Threaded; + + for i in $SEQ_TEST_TYPE; do + ( + ./default_configuration.pl -t $i > $DEST/source/Sequence_Default_${i}.log 2>&1 + if grep -q 'Total throughput: ' $DEST/source/Sequence_Default_${i}.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' $DEST/source/Sequence_Default_${i}.log + ) >> $DEST/source/Sequence_Default_${i}.txt + fi + ) + done + +) + +for i in $COMMON_TESTS; do + /bin/sync + sleep 10 + ( + cd $ACE_ROOT/TAO/performance-tests/Latency/${i}; + ./run_test.pl > $DEST/source/${i}.log 2>&1 + ) + if grep -q 'Total throughput: ' ${i}.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' $DEST/source/${i}.log + ) >> ${i}.txt + fi +done + +for i in $SEQUENCE_TESTS; do + /bin/sync + sleep 10 + ( + cd $ACE_ROOT/TAO/performance-tests/Sequence_Latency/${i}; + for j in $SEQ_TEST_TYPE; do + ( + ./run_test.pl -t $j > $DEST/source/Sequence_${i}_${j}.log 2>&1 + + if grep -q 'Total throughput: ' $DEST/source/Sequence_${i}_${j}.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' $DEST/source/Sequence_${i}_${j}.log + ) >> $DEST/source/Sequence_${i}_${j}.txt + fi + ) + done + ) + +done + +for i in $COMMON_TESTS TCP Default; do + $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i" + /bin/cp ${i}.png $DEST/images/${i}.png + /usr/bin/tac ${i}.txt > $DEST/data/${i}.txt + /usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt +done + +for i in $SEQ_TEST_TYPE ; do + $ACE_ROOT/bin/generate_performance_chart.sh Sequence_Default_${i}.txt Sequence_Default_${i}.png "Default Configuration for $i sequences" + /bin/cp Sequence_Default_${i}.png $DEST/images/Sequence_Default_${i}.png + /usr/bin/tac $DEST/source/Sequence_Default_${i}.txt > $DEST/data/Sequence_Default_${i}.txt + /usr/bin/tail -5 $DEST/source/Sequence_Default_${i}.txt > $DEST/data/LAST_Sequence_Default_${i}.txt +done + +for i in $SEQUENCE_TESTS; do +for j in $SEQ_TEST_TYPE; do + $ACE_ROOT/bin/generate_performance_chart.sh Sequence_${i}_${j}.txt Sequence_${i}_${j}.png "Sequence_$i_$j" + /bin/cp Sequence_${i}_${j}.png $DEST/images/Sequence_${i}_${j}.png + /usr/bin/tac Sequence_${i}_${j}.txt > $DEST/data/Sequence_${i}_${j}.txt + /usr/bin/tail -5 Sequence_${i}_${j}.txt > $DEST/data/LAST_Sequence_${i}_${j}.txt +done +done + +gnuplot <<_EOF_ >/dev/null 2>&1 + set xdata time + set timefmt '%Y/%m/%d-%H:%M' + set xlabel 'Date (YYYYMMDD)' + set ylabel 'Throughput (Requests/Second)' + set yrange [0:] + set terminal png small size 800,600 color + set output "/dev/null" + plot 'AMI.txt' using 1:2 title 'AMI' w l + replot 'DII.txt' using 1:2 title 'DII' w l + replot 'DSI.txt' using 1:2 title 'DSI' w l + replot 'Deferred.txt' using 1:2 title 'Deferred' w l + replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l + replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l + replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l + replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l + replot 'AMH_Single_Threaded.txt' using 1:2 title 'AMH' w l + replot 'TCP.txt' using 1:2 title 'TCP/IP' w l + set output "All.png" + replot + exit +_EOF_ + +gnuplot <<_EOF_ >/dev/null 2>&1 + set xdata time + set timefmt '%Y/%m/%d-%H:%M' + set xlabel 'Date (YYYYMMDD)' + set ylabel 'Throughput (Requests/Second)' + set yrange [0:35000] + set terminal png small size 800,600 color + set output "/dev/null" + plot 'AMI.txt' using 1:2 title 'AMI' w l + replot 'DII.txt' using 1:2 title 'DII' w l + replot 'DSI.txt' using 1:2 title 'DSI' w l + replot 'Deferred.txt' using 1:2 title 'Deferred' w l + replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l + replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l + replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l + replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l + replot 'AMH_Single_Threaded.txt' using 1:2 title 'AMH' w l + set output "CORBA.png" + replot + exit +_EOF_ + +/bin/cp CORBA.png All.png $DEST/images/ + +MOGRIFY=/usr/local/bin/mogrify +if [ ! -x "$MOGRIFY" ]; then + MOGRIFY=/usr/X11R6/bin/mogrify +fi + +( + cd $DEST/images + /bin/cp *.png thumbnails + for i in *.png; do + $MOGRIFY -geometry '25%' thumbnails/$i + done +) + +cd $DEST/data +/bin/uname -a > uname.txt +/usr/bin/gcc -v > gcc.txt 2>&1 +/usr/bin/gcc -dumpversion > gccversion.txt 2>&1 +/lib/libc.so.6 | sed -e 's/</\</g' -e 's/>/\>/g' > libc.txt +cat /proc/cpuinfo > cpuinfo.txt +cat /proc/meminfo > meminfo.txt +cat /etc/SuSE-release > linuxversion.txt + +cat $ACE_ROOT/ace/config.h > config.h.txt +cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt +cp $ACE_ROOT/html/Stats/* $DEST |