#!/usr/local/bin/bash

rrd_name=`echo $@`
rrd_ds=`echo $rrd_name | awk -F "_" '{print $1}'`
rrd_dir="/usr/home/flow/RRDs"
rrd_time=`date -v-200d -v0H -v0M -v0S "+%s"`

if [ "$rrd_name" ]; then
    echo "Creating RRD \"$rrd_name\".."
    rrdtool create $rrd_dir/${rrd_name}_in.rrd --start $rrd_time DS:${rrd_ds}_in:GAUGE:600:U:U RRA:AVERAGE:0.5:1:105120 RRA:MAX:0.5:1:105120
    rrdtool create $rrd_dir/${rrd_name}_out.rrd --start $rrd_time DS:${rrd_ds}_out:GAUGE:600:U:U RRA:AVERAGE:0.5:1:105120 RRA:MAX:0.5:1:105120
    echo
    echo "RRD successfully created in $rrd_dir."

    echo "Populating.."

    filter="/usr/home/flow/Code/hq.fil"
    rrd_dir="/usr/home/flow/RRDs"

    for (( i=120; i>=0; i-- )) do

        year=`date -v-${i}d "+%Y"`
        year_month=`date -v-${i}d "+%Y-%m"`
        year_month_day=`date -v-${i}d "+%Y-%m-%d"`

        flow_dir="/usr/home/flow/Flows/outside/$year/$year_month/$year_month_day"

        int=0

        for (( j=1; j<=288; j++ )) do

            let eint=int+300
            now=`date -v-${i}d -v0H -v0M -v+${int}S +"%s"`
            start=`date -v-${i}d -v0H -v0M -v+${int}S +"%Y-%m-%d %H:%M"`
            end=`date -v-${i}d -v0H -v0M -v+${eint}S +"%Y-%m-%d %H:%M"`

            in=`flow-cat -t "$start" -T "$end" $flow_dir/$record | flow-nfilter -f $filter -F in \
            | flow-stat -f 15 | grep -v ^# | awk '{print $1}'`
            #echo "$start => $end : $int : in= $in"
        
            rrdtool update $rrd_dir/$rrd_name\_in.rrd $now:`echo $in`

            out=`flow-cat -t "$start" -T "$end" $flow_dir/$record | flow-nfilter -f $filter -F out \
            | flow-stat -f 15 | grep -v ^# | awk '{print $1}'`
            rrdtool update $rrd_dir/$rrd_name\_out.rrd $now:`echo $out`
            
            let int=int+300
        done
    done
else

    echo "Usage: $0 <rrd name>"

fi