3 # pmlogreduce workout (includes check for obscure interp.c bug reported
4 # by Arthur Kepner @ sgi)
6 # Copyright (c) 2011 Ken McDonell. All Rights Reserved.
10 echo "QA output created by $seq"
12 # get standard environment, filters and checks
17 status
=0 # success is the default!
18 $sudo rm -rf $tmp.
* $seq.full
19 trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
21 # real QA test starts here
35 -e '/^Note/s/.*/<<< pmval header >>>/'
40 # Note: sed in the pipeline is because join(1) on ia64 SuSE SLES 11
41 # is broken and produces gratuitous white space in the output
43 join -a 1 -a 2 $1 $2 \
46 /No .* values available No .* values available/ { next }
48 NF % 2 == 1 { for (i = 2; i < 2+(NF-1)/2; i++) {
52 if ($i+0 == $i && $j+0 == $j &&
53 0.98*$i <= $j && $j <= 1.02*$i)
63 if pmlogreduce
-A 3sec
-t 3sec archives
/interpmark
$tmp.reduce
67 echo "Arrgh: pmlogreduce failed!"
72 # from src/mkinterpmark ...
74 # metric semantics type indom sample
75 # disk.dev.read counter U64 60.1 500msec
76 # disk.dev.write counter U64 60.1 2sec
77 # disk.dev.total counter U64 60.1 10sec
78 # disk.all.read counter U64 NULL 500msec
79 # disk.all.write counter U64 NULL 2sec
80 # disk.all.total counter U64 NULL 10sec
81 # disk.dev.read_bytes counter U32 60.1 500msec
82 # disk.dev.write_bytes counter U32 60.1 2sec
83 # disk.dev.total_bytes counter U32 60.1 10sec
84 # disk.all.read_bytes counter U32 NULL 500msec
85 # disk.all.write_bytes counter U32 NULL 2sec
86 # disk.all.total_bytes counter U32 NULL 10sec
88 # filesys.used instant U64 60.5 500msec
89 # sample.longlong.bin instant 64 29.2 2sec
90 # filesys.free instant U64 60.5 10sec
91 # sample.longlong.one instant 64 NULL 500msec
92 # swap.length instant U64 NULL 2sec
93 # mem.util.kernelStack instant U64 NULL 10sec
94 # filesys.usedfiles instant U32 60.5 500msec
95 # swapdev.free instant U32 60.6 2sec
96 # pmcd.buf.alloc instant 32 2.5 10sec
97 # sample.control instant 32 NULL 500msec
98 # kernel.all.uptime instant U32 NULL 2sec
99 # network.tcpconn.close instant U32 NULL 10sec
101 # filesys.capacity discrete U64 60.5 2sec
102 # tmpfs.capacity discrete U64 60.18 once
104 # mem.physmem discrete U64 NULL 2sec
106 # filesys.capacity discrete U32 60.5 2sec
107 # hinv.cpu.cache discrete U32 60.0 once
108 # filesys.maxfiles discrete U32 60.5 once
109 # hinv.physmem discrete U32 NULL 2sec
110 # hinv.pagesize discrete U32 NULL once
111 # hinv.ncpu discrete U32 NULL once
115 disk.dev.
read disk.all.
read disk.dev.read_bytes disk.all.read_bytes \
116 filesys.used sample.longlong.one filesys.usedfiles sample.control \
118 disk.all.
write disk.dev.write_bytes disk.all.write_bytes \
119 sample.longlong.bin swap.length swapdev.free kernel.all.uptime \
120 filesys.capacity mem.physmem filesys.capacity hinv.physmem \
122 disk.dev.total disk.all.total disk.dev.total_bytes \
123 disk.all.total_bytes filesys.free mem.util.kernelStack \
124 pmcd.buf.alloc network.tcpconn.close \
126 tmpfs.capacity hinv.cpu.cache filesys.maxfiles hinv.pagesize \
135 echo "=== $m ===" |
tee -a $seq.full
136 pmval
-rz -w 12 -f 3 -A 3sec
-t 3sec
-a archives
/section-a
$m \
138 pmval
-rz -w 12 -f 3 -A 3sec
-t 3sec
-a archives
/section-b
$m \
140 pmval
-rz -w 12 -f 3 -A 3sec
-t 3sec
-a archives
/section-d
$m \
144 s/No values/No input values/
147 echo "--- inputs compared to merge ---" |
tee -a $seq.full
148 pmval
-rz -w 12 -f 3 -U archives
/interpmark
$m >>$seq.full
2>&1
150 pmval
-rz -w 12 -f 3 -A 3sec
-t 3sec
-a archives
/interpmark
$m \
152 | _filter1
>$tmp.merge
155 s/No values/No merge values/
157 }' $tmp.merge
>$tmp.tmp
158 _join
$tmp.in2
$tmp.tmp
160 echo "--- merge compared to reduce ---"
161 pmval
-rz -w 12 -f 3 -U $tmp.reduce
$m >>$seq.full
2>&1
163 pmval
-Dfetch,log
,interp
-rz -w 12 -f 3 -A 3sec
-t 3sec
-a $tmp.reduce
$m 2>&1 \
167 s/No values/No reduce values/
170 _join
$tmp.tmp
$tmp.out