/var/lib/pcp/testsuite/345 is in pcp-testsuite 4.0.1-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #!/bin/sh
# PCP QA Test No. 345
#
# PM_CONTEXT_LOCAL and PMNS operations involving derived and dynamic
# metrics
#
# Copyright (c) 2010 Ken McDonell. All Rights Reserved.
#
seq=`basename $0`
echo "QA output created by $seq"
# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check
grep 'pmRegisterDerived' $PCP_INC_DIR/pmapi.h >/dev/null ||
_notrun "No derived metric support"
grep __pmLocalPMDA src/libpcp.h >/dev/null ||
_notrun "No libpcp support for __pmLocalPMDA"
status=0 # success is the default!
$sudo rm -rf $tmp.* $seq.full
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
cat <<End-of-File >$tmp.derive
sampledso.secret.derived.eek.eight = 2 * sampledso.secret.foo.bar.four
End-of-File
# with -f need to remove "inst" lines for the metric
# sampledso.secret.foo.bar.max.redirect as we will never find these
# aliased pmcd metrics with -L
# also strip blank lines to reduce "diff noise" later
#
_filter()
{
$PCP_AWK_PROG '
$1 == "sampledso.secret.foo.bar.max.redirect" { print; skip = 1; next }
NF == 0 { skip = 0; next }
skip == 1 && $1 == "inst" { next }
{ print }'
}
# real QA test starts here
for metric_args in \
"sampledso.secret.foo.bar.grunt.five sampledso.secret.derived.eek.eight sampledso.secret.foo.bar.grunt" \
sampledso.secret.foo \
sampledso.secret \
sampledso
do
for margs in '' -m -f
do
# -f for all of sampledso will never match ...
[ "$metric_args" = sampledso -a -n "$margs" ] && continue
for hargs in '' '-h localhost' '-L'
do
args="$hargs $margs"
if [ -z "$hargs" ]
then
echo | tee -a $seq.full
echo "=== $args $metric_args ===" | tee -a $seq.full
pminfo -c $tmp.derive $args $metric_args >$tmp.raw
cat $tmp.raw >>$seq.full
_filter <$tmp.raw \
| LC_COLLATE=POSIX sort >$tmp.base
else
$sudo pminfo -c $tmp.derive $args $metric_args >$tmp.raw
echo "=== $args $metric_args" >>$seq.full
cat $tmp.raw >>$seq.full
_filter <$tmp.raw \
| LC_COLLATE=POSIX sort >$tmp.tmp
echo "--- $args diffs against baseline ---" | tee -a $seq.full
diff -u $tmp.base $tmp.tmp \
| sed -e "/---/s/.*/- baseline output/" \
-e "/+++/s/.*/+ $args output/" \
| tee -a $seq.full
fi
done
done
done
# success, all done
exit
|