#! /bin/sh # PCP QA Test No. 248 # is pmlogger tolerant of metric lookup within a group? # # Copyright (c) 2014 Red Hat. # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved. # seq=`basename $0` echo "QA output created by $seq" # get standard filters . ./common.product . ./common.filter rm -f $seq.out $seq.full if [ $PCP_VER -ge 3810 ] then ln $seq.out.2 $seq.out else ln $seq.out.1 $seq.out fi status=1 # failure by default trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 _filter_dump() { _filter_pmdumplog \ | sed \ -e '/^$/d' \ -e '/pmResult/s/ .* numpmid/ ... numpmid/' \ -e '/value /{ s/value [0-9][0-9]*\.[0-9][0-9]*e.[0-9][0-9]*/value NUMBER/ s/value [0-9][0-9]*\.[0-9][0-9]*/value NUMBER/ s/value [0-9][0-9]*e.[0-9][0-9]*/value NUMBER/ s/value [0-9][0-9]*/value NUMBER/ s/value \[.*]/value AGGREGATE/ s/value ".*"/value STRING/ }' \ -e "/pmcd\.pmlogger\./s/$logger_pid/LOGGER_PID/g" \ -e '/pmcd\.pmlogger\.port/s/value .*/value PORT/' \ -e '/pmcd\.pmlogger\.host/s/value ".*/value "HOST"/' \ -e '/pmcd\.pmlogger\.archive/s/value ".*/value "PATH"/' } # real QA test starts here cat <$tmp.config log advisory on 200 msec { sample.daemon_pid sample.no.such.metric sample.milliseconds sample.bin } log advisory on 200 msec { sample.bad.unknown sample.milliseconds sample.daemon_pid } log advisory on 200 msec { sample.daemon_pid sample.bad.unknown # last one in group does it? } End-of-File pmlogger -c $tmp.config -s 6 -l $tmp.log $tmp >$tmp.err 2>&1 & logger_pid=$! wait cat $tmp.err $tmp.log \ | tee -a $seq.full \ | _filter_pmlogger_log \ | sed \ -e "s;$tmp.config;CONFIG;g" \ -e 's/line [34]]/line 3-or-4]/' \ -e 's/line [89]]/line 8-or-9]/' \ -e 's/line 1[45]]/line 14-or-15]/' pmdumplog $tmp | _filter_dump # all done, success status=0 exit