#!/bin/bash

function bail () { echo "\nError: ${1:-Unknown Error}\n"; exit ${2:-1}; }

# Analyse using next available directory
#runid=${1:-Unset}
#[[ $runid == "Unset" ]] && bail "Specify runid as parameter"

last_run=$(ls run/ | sort -n | tail -1)
runid=$((last_run+1))  
rundir=run/$runid
echo "Creating $rundir"

# copy client logs just in case useful
ansible-playbook -i hosts copy_logs.yml

# For replicas
#ansible-playbook -i hosts copy_monitor_logs.yml
#ansible-playbook -i hosts stop_monitoring.yml

mkdir $rundir
config_file=config_p4_bench.yml
pushd $rundir
cp ../../$config_file .

p4port=`grep 666 $config_file | head -1 | sed -e 's/\s*port:\s*//' | sed -e 's/ \- //'`
p4user=`grep user $config_file | sed -e 's/\s*user:\s*//'`

port=`echo "$p4port" | cut -d: -f2`
instance=${port:0:1}

#cp ../../nethogs.out .
#cp ../../iftop.out .
#cp ../../logs/*nethogs.out .
#cp ../../logs/*iftop.out .
cp ../../logs/*slave* .

echo p4 -p $p4port -u $p4user configure show > config.out
p4 -p $p4port -u $p4user configure show > config.out
sudo ls -l /p4/$instance/ >> config.out

# Get logs from server instance(s)
sudo mv /p4/$instance/logs/log .
#sudo mv /remote/FB_DB/p4/rep/h02_$instance/logs/log rep1.log
#sudo mv /remote/FB_DB/p4/rep/h03_$instance/logs/log rep2.log
#sudo mv /remote/FB_DB/p4/rep/h04_$instance/logs/log rep3.log
#sudo chmod +r rep*.log

# Analyse logs into sql db
~/bin/log2sql.py -d run log
#~/bin/log2sql.py -d run -s rep1.log
#~/bin/log2sql.py -d run -s rep2.log
#~/bin/log2sql.py -d run -s rep3.log


#for f in *nethogs.out
#do
#   echo $f
#   grep p4d $f | awk '{sum += $2; count += 1} END {printf "%d %0.0f %d\n", count, sum, sum/count}'
#done

popd
./sqlreport.sh $rundir

