#!/bin/sh
# PCP QA Test No. 678
# pmlogger_rewrite with gzip compression
#
# Copyright (c) 2018 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

if which gzip >/dev/null 2>&1
then
    PROG=gzip
    SUFF=gz
else
    _notrun "cannot find a gzip compression program!"
fi

_cleanup()
{
    cd $here
    $sudo rm -rf $tmp $tmp.*
}

_filter()
{
    sed \
	-e "s@$tmp@TMP@g" \
    # end
}

status=1	# failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15

# setup the log farm
#
cat <<End-of-File >$tmp.farm
onevol		archives/snort-disks	20011002
onevol		archives/moomba.client	20011003
multivol	archives/ok-mv-bar	20011002
End-of-File

mkdir $tmp
if ./mk.logfarm -c $tmp.farm $tmp >$tmp.out 2>&1
then
    _filter <$tmp.out
else
    cat $tmp.out
    echo "Arrgh ... mk.logfarm failed!"
    exit
fi

# real QA test starts here
cd $tmp

echo
echo "--- rewrite with data volume compression for multivol ---"
cat <<End-of-File >$tmp.rewrite
metric pmcd.pmlogger.port {
    pmid -> 2.4095.1023
}
End-of-File
for file in multivol/*.[0-9]
do
    $PROG $file
done
$PCP_BINADM_DIR/pmlogger_rewrite -VV -c $tmp.rewrite onevol/*.meta multivol/*.meta
for arch in onevol/*.meta multivol/*.meta
do
    arch=`echo $arch | sed -e 's/.meta//'`
    echo $arch:
    pminfo -a $arch -m pmcd.pmlogger.port
done
rm -rf onevol multivol
cd $here
if ./mk.logfarm -c $tmp.farm $tmp >$tmp.out 2>&1
then
    :
else
    cat $tmp.out
    echo "Arrgh ... mk.logfarm failed!"
    exit
fi
cd $tmp

echo
echo "--- rewrite with metadata and volume compression for onevol and multivol ---"
cat <<End-of-File >$tmp.rewrite
metric pmcd.pmlogger.port {
    pmid -> 2.4095.1023
}
End-of-File
for file in multivol/*.[0-9] multivol/*.meta onevol/*.[0-9] onevol/*.meta
do
    $PROG $file
done
$PCP_BINADM_DIR/pmlogger_rewrite -VV -c $tmp.rewrite onevol/*.meta* multivol/*.meta*
for arch in onevol/*.meta* multivol/*.meta*
do
    arch=`echo $arch | sed -e 's/.meta.*//'`
    echo $arch:
    pminfo -a $arch -m pmcd.pmlogger.port
done
cd $tmp

# success, all done
status=0
exit
