diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/368 | |
download | pcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/368')
-rwxr-xr-x | qa/368 | 184 |
1 files changed, 184 insertions, 0 deletions
@@ -0,0 +1,184 @@ +#!/bin/sh +# PCP QA Test No. 368 +# +# pmlogconf - handle changes in installed group files +# +# Copyright (c) 2014 Red Hat. +# 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 + +[ -f $PCP_BINADM_DIR/pmlogconf-setup ] || _notrun "pmlogconf v2.0 is not installed" + +rm -f $seq.out +if [ $PCP_VER -ge 3901 ] +then + suffix=3 +elif [ $PCP_VER -ge 3802 ] +then + suffix=2 +else + suffix=1 +fi +if [ $PCP_PLATFORM = darwin ] +then + ln $seq.darwin.$suffix $seq.out || exit 1 +else + ln $seq.other.$suffix $seq.out || exit 1 +fi + +status=0 # success is the default! +$sudo rm -rf $tmp.* $seq.full +trap "rm -rf $tmp $tmp.*; exit \$status" 0 1 2 3 15 +mkdir $tmp + +# need to handle diff-c lines like this +# *** TMP.conf 2010-06-17 06:36:00.000000000 +1000 +# --- /var/tmp/pcp.[a0Sg619P4/]ctl 2012-11-16 13:37:29.000000000 +0000 +# +_filter() +{ + sed \ + -e "s;$tmp;TMP;g" \ + -e '/^\*\*\* TMP\.conf/s/\.conf.*/.orig .../' \ + -e '/^--- .*\/ctl/s/ .*/ TMP.new .../' \ + -e '/^--- .*\.ctl/s/ .*/ TMP.new .../' +} + +cat <<End-of-File >$tmp/01 +#pmlogconf-setup 2.0 +probe sample.long.ten == 10 ? include : exclude +ident qa group one + sample.long.ten + sample.long.hundred + sample.long.million +End-of-File + +cat <<End-of-File >$tmp/02 +#pmlogconf-setup 2.0 +probe sample.ulong.ten != 10 ? include : exclude +ident qa group two + sample.ulong.ten +End-of-File + +cat <<End-of-File >$tmp/03 +#pmlogconf-setup 2.0 +probe sample.longlong.ten >= 10 ? include : available +ident qa group three + sample.longlong.ten +End-of-File + +cat <<End-of-File >$tmp/04 +#pmlogconf-setup 2.0 +probe sample.ulonglong.ten < 10 ? include : available +ident qa group four + sample.ulonglong.ten +End-of-File + +# real QA test starts here + +pmlogconf -d $tmp $tmp.conf \ +| _filter + +echo "--- start initial config file ---" +cat $tmp.conf | _filter +echo "--- end initial config file ---" + +cat <<End-of-File >$tmp/00 +#pmlogconf-setup 2.0 +force include +ident qa group zero + sample.float.ten +End-of-File + +cat <<End-of-File >$tmp/05 +#pmlogconf-setup 2.0 +force available +ident qa group five + sample.double.ten +End-of-File + +rm $tmp/03 + +( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \ +| _filter + +# reverse the condition +# +cat <<End-of-File >$tmp/02 +#pmlogconf-setup 2.0 +probe sample.ulong.ten <= 10 ? include : exclude +ident qa group two + sample.ulong.ten +End-of-File + +# reverse the condition +# +cat <<End-of-File >$tmp/03 +#pmlogconf-setup 2.0 +probe sample.longlong.ten > 10 ? include : available +ident qa group three + sample.longlong.ten +End-of-File + +( echo q ; echo '') | pmlogconf -r -d $tmp $tmp.conf \ +| _filter + +# drop a metric +# +cat <<End-of-File >$tmp/01 +#pmlogconf-setup 2.0 +probe sample.long.ten ~ ^10$ ? include : exclude +ident qa group one + sample.long.ten + sample.long.million +End-of-File + +# add a metric +# +cat <<End-of-File >$tmp/02 +#pmlogconf-setup 2.0 +probe sample.ulong.ten ~ 10 ? include : exclude +ident qa group two + sample.ulong.ten + sample.ulong.million +End-of-File + +cat <<'End-of-File' >$tmp/98 +#pmlogconf-setup 2.0 +ident postgresql summary information +probe postgresql.stat.all_tables.seq_scan ? include : available + postgresql.stat.database + postgresql.stat.all_tables + postgresql.stat.all_indexes + postgresql.statio.all_tables + postgresql.statio.all_indexes +End-of-File + +cat <<'End-of-File' >$tmp/99 +#pmlogconf-setup 2.0 +ident Example from pmlogconf(1) man page +ident ... more descripton +delta 1 minute +probe sample.secret.foo.one values ? include : exclude + sample.secret.foo.one + sample.secret.foo.bar # non-leaf in the PMNS + sample.colour [ red green ] +End-of-File + +( echo q ; echo '') | pmlogconf -d $tmp $tmp.conf \ +| _filter + +echo "--- start final config file ---" +cat $tmp.conf | _filter +echo "--- end final config file ---" + +# success, all done +exit |