3 # Basic pmproxy functionality
5 # Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard environment, filters and checks
16 which pmdumptext
>/dev
/null
2>&1 || _notrun
"No installed pmdumptext binary"
19 signal
=$PCP_BINADM_DIR/pmsignal
20 status
=1 # failure is the default!
23 trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15
27 $sudo $signal -a pmproxy
>/dev
/null
2>&1
28 $sudo $PCP_RC_DIR/pmproxy restart
>/dev
/null
2>&1
34 -e '/hinv/s/ [0-9][0-9]*$/ N/' \
35 -e '/^[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/{
40 -e '/^\[[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]]/{
43 s/([0-9][0-9]*)/(PID)/
45 -e '/expr_1/s/ *[0-9][0-9.]*/ N/g' \
46 -e '/^@ [A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][[0-9][0-9][0-9]/{
50 -e '/^ 1 min swpd free buff cache pi po bi bo in cs us sy id/{
52 s// 1 min swpd free buff cache si so bi bo in cs us sy id/
54 -e '/[0-9.]*[0-9Km] *[0-9.]*[0-9Km] *[0-9.]*[0-9Km] *[0-9.]*[0-9Km] *[0-9.]*[0-9Km]/{
56 s/ *[0-9.]*[0-9Km]/ N/g
64 -e "s/`hostname`/MY_HOSTNAME/g" \
65 -e "s/`hostname | sed -e 's/\..*//'`/MY_HOSTNAME/" \
66 -e "s/local:/MY_HOSTNAME/" \
67 -e "s/localhost\.localdomain/MY_HOSTNAME/" \
68 -e "s/localhost/MY_HOSTNAME/" \
69 -e "s#$PCP_VAR_DIR#PCP_VAR_DIR#g" \
70 -e "s#$PCP_SYSCONF_DIR/pmlogger/config.pmstat#TMP.logger.config#g" \
71 -e "s,$tmp.config,TMP.logger.config,g" \
78 -e '/^__pmSetSocketIPC: fd=/d' \
79 -e '/^__pmSetDataIPC:/d' \
80 -e '/^__pmDataIPC: /d' \
81 -e '/^IPC table fd/d' \
88 echo "+++ $* +++" |
tee -a $seq.full | _filter_me
89 if which $1 >/dev
/null
2>&1
91 eval $
* 2>&1 |
tee -a $seq.full | _filter
92 echo "`grep AcceptNewClient $tmp.log | wc -l | sed -e 's/ *//g'` connects"
93 echo "`grep DeleteClient $tmp.log | wc -l | sed -e 's/ *//g'` disconnects"
95 echo "Skipped, no $1 binary installed"
101 cat >$tmp.config
<<End-of-File
102 log advisory on default {
116 kernel.all.intr.non_vme
123 $sudo $PCP_RC_DIR/pmproxy stop
>/dev
/null
2>&1
124 $sudo $signal -a pmproxy
>/dev
/null
2>&1
126 proxyargs
="-Dcontext"
127 id pcp
>/dev
/null
2>&1 && proxyargs
="$proxyargs -U $username"
128 $PCP_BINADM_DIR/pmproxy
$proxyargs -l $tmp.log
2>&1 | _filter_pmproxy
130 PMPROXY_HOST
=localhost
135 # real QA test starts here
136 _do pminfo
-h $PMPROXY_HOST -d pmcd.agent
137 _do pminfo
-h $PMPROXY_HOST -f sample.hordes
138 _do pmprobe
-v -h localhost hinv.ncpu
139 _do pmval
-h `hostname` -t 0.5 -s 3 sample.bin
141 echo "kernel.all.load;" >$tmp.
in
142 _do pmie
-h $PMPROXY_HOST -c $tmp.
in -v -t 0.5 -T 1.5
143 echo "kernel.all.cpu.user :localhost;" >$tmp.
in
144 _do pmie
-h $PMPROXY_HOST -c $tmp.
in -v -t 0.5 -T 1.5
145 _do pmdumptext
-h `hostname` -t 0.5 -s 2 sample.string.hullo
146 _do pmdumptext
-t 0.5 -s 2 localhost
:sample.string.hullo
147 _do pmdumptext
-t 0.5 -s 2 `hostname`:kernel.all.load
149 # Note: there used to be special casing for Darwin/Solaris platforms
150 # here. This is wrong, pmstat must still run on these platforms and
151 # produce no values for some columns.
153 _do pmstat
-h $PMPROXY_HOST -t 0.5 -s 2
155 _do pmlogger
-h localhost
-c $tmp.config
-t 0.5sec
-s 3 -l $tmp.logger.log
$tmp.arch
156 _do pmstat
-S +0.25sec
-t 0.5sec
-a $tmp.arch
-z