##/bin/sh
_run_dbench()
{
mkdir ./dbench || exit 1
cd dbench
dbench $1
status=$?
cd ..
rm -fr ./dbench
[ $status -ne 0 ] && exit 1
}
#
# Sample dbench output:
# "Throughput 40.6701 MB/sec (NB=50.8376 MB/sec 406.701 MBit/sec)"
#
# Output for a single-shot dbench run.
_format_header()
{
printf "%8s, %s\n" clients MB/sec
}
_filter_dbench()
{
clients=$1
perl -ne 'm/Throughput (\S+) MB\/sec/ &&
{ printf "%8u, %s\n", '$clients', $1 }'
}
# Output for a "multipass" dbench run.
_format_header_multipass()
{
for i in $@; do
printf "%4s::MB/sec," $i
done
printf "\n"
}
_filter_dbench_multipass()
{
perl -ne '
if (m/Throughput (\S+) MB\/sec/) {
$results[$count++] = $1;
}
END { for ($i = 0; $i < $count - 1; $i++) {
printf "%12.3f,", $results[$i];
}
printf "%12.3f\n", $results[$count-1];
}'
}