#!/bin/bash
# This script runs tbench for varying numbers of clients
P=tbench-bench
VERSION=3.04
. $SHELLPACK_INCLUDE/common.sh

install-depends popt-devel

# Basic args parser
while [ "$1" != "" ]; do
	case "$1" in
		-v)
			VERSION=$2
			shift 2;;
		*)	echo Unrecognised option: $1; shift
	esac
done

# Install if necessary
if [ ! -d $SHELLPACK_SOURCES/dbench-${VERSION}-installed ]; then
	$SHELLPACK_INCLUDE/shellpack-install-dbench -v ${VERSION} || die dbench install script returned error
fi
cd $SHELLPACK_SOURCES/dbench-${VERSION}-installed || die Failed to cd to dbench install directory

# Include monitor hooks
. $SHELLPACK_INCLUDE/include-monitor.sh

TBENCH_CLIENTS=`echo $TBENCH_CLIENTS | tr ',' ' '`
CLIENT=1
while [ $CLIENT -le $TBENCH_MAX_CLIENTS ]; do
	monitor_pre_hook $LOGDIR_RESULTS $CLIENT
	./bin/tbench_srv &
	PID_SERVER=$!
	./bin/tbench \
		-t $TBENCH_DURATION \
		$CLIENT localhost 2>&1 | tee $LOGDIR_RESULTS/tbench-$CLIENT.log \
			|| die Failed to run tbench
	kill -9 $PID_SERVER
	monitor_post_hook $LOGDIR_RESULTS $CLIENT
	CLIENT=$((CLIENT*2))
done

exit $SHELLPACK_SUCCESS
#### Description tbench
#### Details tbench-bench 4
