From: <ma...@us...> - 2006-05-02 19:02:31
|
Revision: 1400 Author: markwkm Date: 2006-05-02 12:02:26 -0700 (Tue, 02 May 2006) ViewCVS: http://svn.sourceforge.net/osdldbt/?rev=1400&view=rev Log Message: ----------- Added a script to wrap up starting the message queue consumers, run the driver, and post process the test results. Modified Paths: -------------- trunk/dbt4/configure.ac Added Paths: ----------- trunk/dbt4/scripts/run_workload.sh.in Modified: trunk/dbt4/configure.ac =================================================================== --- trunk/dbt4/configure.ac 2006-05-02 19:01:03 UTC (rev 1399) +++ trunk/dbt4/configure.ac 2006-05-02 19:02:26 UTC (rev 1400) @@ -101,5 +101,6 @@ AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([scripts/myjava], [chmod +x scripts/myjava]) +AC_CONFIG_FILES([scripts/run_workload.sh], [chmod +x scripts/run_workload.sh]) AC_OUTPUT Added: trunk/dbt4/scripts/run_workload.sh.in =================================================================== --- trunk/dbt4/scripts/run_workload.sh.in (rev 0) +++ trunk/dbt4/scripts/run_workload.sh.in 2006-05-02 19:02:26 UTC (rev 1400) @@ -0,0 +1,109 @@ +#!/bin/sh + +# +# This file is released under the terms of the Artistic License. +# Please see the file LICENSE, included in this package, for details. +# +# Copyright (C) 2006 Mark Wong & Open Source Development Lab, Inc. +# + +# +# I don't know how to wait until Geronimo starts up. Instead of starting and +# waiting X seconds, just make it the responsibility of the user to start it +# by hand. +# + +validate_parameter() +{ + if [ "$2" != "$3" ]; then + usage "wrong argument '$2' for parameter '-$1'" + exit 1 + fi +} + +while getopts "b:d:" opt; do + case ${opt} in + b) + BROWSERS=`echo ${OPTARG} | egrep "^[0-9]+$"` + validate_parameter ${opt} ${OPTARG} ${BROWSERS} + ;; + d) + DURATION=`echo ${OPTARG} | egrep "^[0-9]+$"` + validate_parameter ${opt} ${OPTARG} ${DURATION} + ;; + esac +done + +if [ "${BROWSERS}" == "" ]; then + echo "specify the number of emulated browsers of the test using -b #" + exit 1 +fi + +if [ "${DURATION}" == "" ]; then + echo "specify the duration of the test in seconds using -t #" + exit 1 +fi + +# +# Determine the output directory for storing data. +# +RUN_NUMBER=-1 +if test -f run_number; then + read RUN_NUMBER < run_number +fi +if [ ${RUN_NUMBER} -eq -1 ]; then + RUN_NUMBER=0 +fi + +OUTPUT_DIR="@abs_top_srcdir@/scripts/output/${RUN_NUMBER}" + +DRIVER_LOG="${OUTPUT_DIR}/mix.log" + +# +# Update the run number for the next test. +# + +RUN_NUMBER=`expr ${RUN_NUMBER} + 1` +echo ${RUN_NUMBER} > run_number + +# +# Create the directories we will need. +# +mkdir -p $OUTPUT_DIR + +cd @abs_top_srcdir@/build/classes + +# +# Start the Shipping and Stock Management message queues. +# +echo "Starting Shipping message queue..." +@abs_top_srcdir@/scripts/myjava org.osdl.dbt4.ShippingReceiver & +shipping_pid=$! +echo "Shipping Receiver pid = ${shipping_pid}" + +echo "Starting Stock Management message queue..." +@abs_top_srcdir@/scripts/myjava org.osdl.dbt4.StockManagementReceiver & +stock_pid=$! +echo "Stock Management Receiver pid = ${stock_pid}" + +echo "Starting driver..." +@abs_top_srcdir@/scripts/myjava org.osdl.dbt4.Driver -e ${BROWSERS} \ + -d ${DURATION} -o ${DRIVER_LOG} || exit 1 + +# +# Postprocess the data. +# + +echo "Post processing results..." + +@abs_top_srcdir@/scripts/analyze_mix.pl -i ${DRIVER_LOG} > \ + ${OUTPUT_DIR}/results.out + +# +# Display the results summary. +# +echo +cat ${OUTPUT_DIR}/results.out +echo + +echo "Test completed." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |