#!/usr/bin/bash
###SHELLPACK preamble sysbenchthread-bench 1.0.20

###SHELLPACK parseargBegin
###SHELLPACK parseargInstall
###SHELLPACK parseargParam --max-threads MAX_THREADS
###SHELLPACK parseargParam --iterations  ITERATIONS
###SHELLPACK parseargEnd
###SHELLPACK monitor_hooks

###SHELLPACK check_external_install_required sysbenchbuild sysbenchbuild-${VERSION} ${VERSION}

###SHELLPACK init_complete

export PATH=$SHELLPACK_SOURCES/sysbenchthreadbuild-${VERSION}-installed/bin:$PATH

###SHELLPACK threads_large_stride_begin 1 $MAX_THREADS
	BENCH_CMD="sysbench threads --threads=$NR_THREADS"
	log_cmd $BENCH_CMD

	monitor_pre_hook $LOGDIR_RESULTS $NR_THREADS
	###SHELLPACK iteration_begin $ITERATIONS
		echo Running $NR_THREADS threads Iteration $ITERATION/$ITERATIONS
		eval $TIME_CMD -o $LOGDIR_RESULTS/time-${NR_THREADS}-${ITERATION} \
			$BENCH_CMD run >> $LOGDIR_RESULTS/sysbench-raw-$NR_THREADS-$ITERATION
		SYSRET=$?
		if [ $SYSRET -ne 0 ]; then
			cat $LOGDIR_RESULTS/sysbench-raw-$NR_THREADS-$ITERATION
			die "sysbench exited abnormally"
		fi
	###SHELLPACK iteration_end
	monitor_post_hook $LOGDIR_RESULTS $NR_THREADS
###SHELLPACK threads_stride_end

echo sysbenchthread successfully completed
exit $SHELLPACK_SUCCESS
