/var/lib/pcp/testsuite/130 is in pcp-testsuite 3.8.12ubuntu1.
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136  | #! /bin/sh
# PCP QA Test No. 130
# Compare rpc.server metrics with what nfsstat reports
#
# 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
if [ $PCP_PLATFORM != irix ]
then
    echo "TODO: Need to reconcile rpc.server metrics" >$seq.notrun
    echo "$seq: [not run] `cat $seq.notrun`"
    exit 0
fi
echo checking PCP metric values against: nfsstat -rs
trap "rm -f $tmp.*; exit" 0 1 2 3 15
signal=$PCP_BINADM_DIR/pmsignal
# Don't bother about dupage
# Not very popular and has a bug: pv#652216
cat > $tmp.workload << \EOF
ls -R /hosts/localhost/usr >/dev/null 2>/dev/null &
KILL_PID=$!
sleep 3
$signal -s KILL $KILL_PID >/dev/null 2>&1
EOF
chmod u+x $tmp.workload
$tmp.workload >/dev/null 2>&1
sleep 2
# Example Output:
# > pminfo -f rpc.server
# 
# rpc.server.badcalls
#     value 0
# 
# rpc.server.badlen
#     value 0
# 
# rpc.server.calls
#     value 111217257
# 
# rpc.server.duphits
#     value 426
# 
# rpc.server.nullrecv
#     value 11687166
# 
# rpc.server.xdrcall
#     value 0
# 
# > nfsstat -rs
# 
# Server RPC:
# calls      badcalls   nullrecv   badlen     xdrcall    duphits    dupage
# 111220948  0          11687178   0          0          426        6198.58 
pminfo -f rpc.server >$tmp.pminfo
nfsstat -rs >$tmp.nfs
# acceptance: abs diff within 10 or diff within 5%
#
cat $tmp.pminfo $tmp.nfs | tee $seq.full | $PCP_AWK_PROG '
NF == 0	{ next }
/Server RPC/ { nfstat=1; next }
/rpc.server/ { # pminfo name 
               metric = $1
               sub("rpc.server.", "", metric)
               next
             }
/value/ { # pminfo value
          value=$2
          if (metric == "dupage") {
             value /= 1000
          }
          pminfo[metric] = value
          next
        } 
NF>3 && nfstat==1 && /calls/ { # stat names
          for(i=1;i<=NF;i++){
	     stat_names[i] = $i
          }
	  next
        }
NF>3 && nfstat==1 { # stat values
          for(i=1;i<=NF;i++){
	    name = stat_names[i]
            stat_chk[name] = 1
	    stat_value = $i
            if (! (name in pminfo) ) { 
		print name ": not in pminfo output" 
		next
            }
            pminfo_value = pminfo[name]
            delta = pminfo_value - stat_value
	    if (delta < 0) delta *= -1
            ok=0
	    if (delta < 10) { 
                  ok = 1 
            }
            else {
                if (stat_value == 0) {
                   ok = 0 
                } else { 
		    pct = delta / stat_value
		    ok = (0.95 <= pct && pct <= 1.05)
                }
            }
            if (ok) 
		  print name ": OK"
	    else
		  print name ": mismatch, pcp=" pminfo_value " nfsstat=" stat_value 
          }
        }
END {
	for (name in pminfo) {
           if (! (name in stat_chk) ) {
		print name ": not in stats output" 
           }
        }
    }
' | sort 
 |