#!/bin/sh
# PCP QA Test No. 1246
# pmlogreduce emits TI records every 100,000 bytes of output?
#
# Copyright (c) 2020 Ken McDonell.  All Rights Reserved.
#
# check-group-exclude: iostat

seq=`basename $0`
if [ $# -eq 0 ]
then
    echo "QA output created by $seq"
else
    echo "QA output created by $seq $*"
fi

# 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!
trap "_cleanup; exit \$status" 0 1 2 3 15

# real QA test starts here
pmlogreduce -t 1min archives/pmiostat_mark $tmp

pmdumplog -zt archives/pmiostat_mark | tee -a $seq_full >$tmp.in
pmdumplog -zt $tmp | tee -a $seq_full >$tmp.out

# can't really compare temporal index entries (pmResults are not exactly
# time-aligned and pmlogreduce tends to push metric metadata (not indom
# metadata) earlier), but expect the number of entries to be the same
#
echo "Silence is golden ..."
wc_in=`wc -l <$tmp.in`
wc_out=`wc -l <$tmp.out`

if [ "$wc_in" != "$wc_out" ]
then
    echo "Input lines: $wc_in"
    echo "Output lines: $wc_out"
    diff $tmp.in $tmp.out
fi

# success, all done
status=0
exit
