summaryrefslogtreecommitdiffstats
path: root/perf-framework/calc_avg
diff options
context:
space:
mode:
Diffstat (limited to 'perf-framework/calc_avg')
-rwxr-xr-xperf-framework/calc_avg54
1 files changed, 54 insertions, 0 deletions
diff --git a/perf-framework/calc_avg b/perf-framework/calc_avg
new file mode 100755
index 0000000..596554f
--- /dev/null
+++ b/perf-framework/calc_avg
@@ -0,0 +1,54 @@
+#!/bin/bash -ue
+
+egrep_patt=""
+num=""
+for run in "$@"
+do
+ egrep_patt+="^`echo run$run\|`"
+ PERFLOG="log_repo/run$run/client/perf-test.log"
+ if [ $run -lt 9 ]
+ then
+ run="0$run"
+ fi
+ echo "RUN$run" > /tmp/run$run.$$
+ echo "-------" >> /tmp/run$run.$$
+ for op in `cat ops`
+ do
+ time=0;
+ for i in `grep -w ^$op $PERFLOG | awk '{print $2}'| cut -f1 -d'.'`
+ do
+ time=$((time+$i))
+ done;
+ time=$((time/3)) # Average over three runs
+ echo $time >> /tmp/run$run.$$
+ done
+done
+egrep_patt+="^zzz"
+
+echo ""
+egrep -w "$egrep_patt" log_repo/runlog
+echo ""
+echo "Operations " > /tmp/tmp_ops.$$
+echo "-------------------------" >> /tmp/tmp_ops.$$
+awk '{ printf("%-25s\n", $0) }' ops >> /tmp/tmp_ops.$$
+
+if [ $# -lt 2 ]; then
+ paste /tmp/tmp_ops.$$ /tmp/run*.$$;
+else
+ for list in "$@"; do
+ if [ $list -lt 9 ]; then
+ list="0$list"
+ fi
+ if [ "$1" -eq $list ]; then
+ num="{$list"
+ else
+ num="$num,$list";
+ fi
+
+ if [ "${@: -1}" -eq $list ]; then
+ num="$num}"
+ fi
+ done
+ eval "paste /tmp/tmp_ops.$$ /tmp/run$num.$$";
+fi
+rm /tmp/run*.$$ /tmp/tmp_ops.$$