summaryrefslogtreecommitdiff
path: root/trunk/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh
blob: 8d0914a6c16441e44528ca4219df3bf3cdbf37a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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