diff options
Diffstat (limited to 'TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh')
-rwxr-xr-x | TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh new file mode 100755 index 00000000000..8d0914a6c16 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh @@ -0,0 +1,47 @@ +#/bin/sh + +. parameters + +PERCENTILES="0 .25 .50 .75 .99 .999 .9999 1" + +for t in $*; do + cat /dev/null > ${t}.avg.dat + for p in $PERCENTILES; do + cat /dev/null > ${t}$p.percentile.dat + done + + for c in $NCONSUMERS; do + echo $t $c + INPUT=${t}.${c}.txt + awk -v c=$c '/^HISTO/ { + n++; + s += $3 + } + END { + printf("%d %f\n", c, s/n); + }' $INPUT >> ${t}.avg.dat + + TFILE=/tmp/${t}.$$ + awk '/^HISTO/ {print $3}' $INPUT | sort -n | uniq -c > $TFILE + for p in $PERCENTILES; do + awk -v N=$ITERATIONS '{print $2, $1 / N}' $TFILE | + awk -v c=$c -v p=${p} '\ +BEGIN { x = 0; l = 0; } +{ s += $2; + l = $1; + if (x == 0 && s >= p) { + x = $1; + } +} +END { + if (s < p) { + x = l; + } + printf("%d %f\n", c, x); +}' >> ${t}${p}.percentile.dat + done + /bin/rm -f $TFILE + + done + +done |