summaryrefslogtreecommitdiff
path: root/qa/426
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/426
downloadpcp-debian.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/426')
-rwxr-xr-xqa/426121
1 files changed, 121 insertions, 0 deletions
diff --git a/qa/426 b/qa/426
new file mode 100755
index 0000000..0f9dd38
--- /dev/null
+++ b/qa/426
@@ -0,0 +1,121 @@
+#! /bin/sh
+# PCP QA Test No. 426
+# tests trace PMDA reset capability
+#
+# 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
+. ./common.check
+
+_cleanup()
+{
+ if [ -n "$savedtracehost" ]
+ then
+ PCP_TRACE_HOST=$savedtracehost; export PCP_TRACE_HOST
+ fi
+ if $_needclean
+ then
+ if $install_on_cleanup
+ then
+ ( cd $PCP_PMDAS_DIR/trace; $sudo ./Install </dev/null >/dev/null 2>&1 )
+ else
+ ( cd $PCP_PMDAS_DIR/trace; $sudo ./Remove </dev/null >/dev/null 2>&1 )
+ fi
+ _needclean=false
+ fi
+ rm -f $tmp.*
+ exit $status
+}
+
+install_on_cleanup=false
+pminfo trace >/dev/null 2>&1 && install_on_cleanup=true
+
+status=1 # failure is the default!
+_needclean=true
+trap "_cleanup" 0 1 2 3 15
+
+if $install_on_cleanup
+then
+ : pmda already installed
+else
+ ( cd $PCP_PMDAS_DIR/trace; $sudo ./Install </dev/null >/dev/null 2>&1 )
+fi
+
+if [ -n "$PCP_TRACE_HOST" ]
+then
+ savedtracehost=$PCP_TRACE_HOST; unset PCP_TRACE_HOST
+fi
+
+_traceme()
+{
+ pmtrace $traceargs foo
+ pmtrace $traceargs bar
+ pmtrace $traceargs eek
+ echo
+ echo 'SHOULD SEE 1="foo", 2="bar", 3="eek" ...'
+ pminfo -f trace.$traceindom.count
+
+ echo
+ echo "Resetting trace metrics ($traceindom #1)"
+ pmstore trace.control.reset 1
+ echo
+ echo 'SHOULD SEE NO VALUES ...'
+ pminfo -f trace.$traceindom.count
+
+ pmtrace $traceargs eek
+ pmtrace $traceargs bar
+ echo
+ echo 'SHOULD SEE 2="bar", 3="eek" ...'
+ pminfo -f trace.$traceindom.count
+
+ echo
+ echo "Resetting trace metrics ($traceindom #2)"
+ pmstore trace.control.reset 1
+ echo
+ echo 'SHOULD SEE NO VALUES ...'
+ pminfo -f trace.$traceindom.count
+
+ pmtrace $traceargs new
+ pmtrace $traceargs foo
+ # should see 1=foo, 4=new
+ echo
+ echo 'SHOULD SEE 1="foo", 4="new" ...'
+ pminfo -f trace.$traceindom.count
+}
+
+# real QA test starts here
+$sudo $PCP_RC_DIR/pcp restart \
+| _filter_pcp_start
+_wait_for_pmcd
+_wait_for_pmlogger
+
+# test the point instance domain reset
+traceindom="point"
+traceargs=""
+echo
+echo "--- Testing trace.point metrics ---"
+_traceme
+
+# test the observation instance domain reset
+traceindom="observe"
+traceargs="-v 1"
+echo
+echo "--- Testing trace.observe metrics ---"
+_traceme
+
+# test the transaction instance domain reset
+traceindom="transact"
+traceargs="-e exit"
+echo
+echo "--- Testing trace.transact metrics ---"
+_traceme
+
+# success, all done
+status=0
+exit