/var/lib/pcp/testsuite/939 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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #!/bin/sh
# PCP QA Test No. 939
# derived metrics - mkconst()
#
# Copyright (c) 2017 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
_cleanup()
{
cd $here
$sudo rm -rf $tmp $tmp.*
}
status=1 # failure is the default!
$sudo rm -rf $tmp $tmp.* $seq.full
trap "_cleanup; exit \$status" 0 1 2 3 15
# Derived metric expr dump from 0x8513a48...
# expr node 0x867eb68 type=PLUS left=0x867eb98 right=0x867ed28
_filter()
{
awk <$tmp.out >$tmp.sed '
BEGIN { n = 0 }
$1 == "expr" && $2 == "node" && $3 ~ /^0x/ { print "s/" $3 "/<addr-" n ">/"; n++ }
{ next }'
sed -f $tmp.sed <$tmp.out \
| sed \
-e '/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/s/[^ ]*.*numpmid/TIMESTAMP ... numpmid/' \
-e 's/=0x0 /=(nil) /g' \
-e "s;$tmp;TMP;"
}
# real QA test starts here
cat <<End-of-File >$tmp.config
# default
a.m1 = 1
# type= tests
a.m2 = mkconst(2, type="32")
a.m3 = mkconst(3, type=32)
a.m4 = mkconst(4, type="U32")
a.m5 = mkconst(5, type="u32")
a.m6 = mkconst(6, type=U32)
a.m7 = mkconst(7, type=u32)
a.m8 = mkconst(8, type=64)
a.m9 = mkconst(9, type=U64)
a.m10 = mkconst(10, type=FLOAT)
a.m11 = mkconst(11.1, type=float)
a.m12 = mkconst(12, type=DOUBLE)
a.m13 = mkconst(13.3, type=DOUBLE)
# semantics= tests
a.m14 = mkconst(14, semantics=counter)
a.m15 = mkconst(15, semantics="COUNTER")
a.m16 = mkconst(16.6, semantics=instant)
a.m17 = mkconst(17.7, semantics=DISCRETE)
# units= tests
a.m18 = mkconst(18.8, units="kbyte")
a.m19 = mkconst(19, units="kbyte / count")
# putting it all together
a.m20 = mkconst(20, type=u64, semantics=counter, units=ms)
# error cases
a.err.m1 = mkconst(123, type="foo bar")
a.err.m2 = mkconst(123.456, type=32)
a.err.m3 = mkconst(123, semantics="foo bar")
End-of-File
export PCP_DERIVED_CONFIG=$tmp.config
pminfo -Dderive -fd a >$tmp.out 2>&1
_filter
echo "From the man page ..."
cat <<End-of-File >$tmp.config
avg_io_size = delta(disk.dev.total) == 0 ? -mkconst(1.0, semantics=instant, units="kbyte / count") : delta(disk.dev.total_bytes) / delta(disk.dev.total)
myalarm = rate(disk.dev.total_bytes) > mkconst(400, units="Kbyte/sec")
End-of-File
for metric in disk.dev.total disk.dev.total_bytes avg_io_size myalarm
do
pminfo -a archives/bozo-disk -d $metric
pmval -z -a archives/bozo-disk -t 1sec -s 10 $metric
done
cat <<End-of-File >$tmp.config
idle = mem.util.free > mkconst(10485760, units=Kbyte)
End-of-File
pminfo -a archives/pcp-free -d idle
pmval -z -t1 -a archives/pcp-free idle
# success, all done
status=0
exit
|