#!/bin/sh

FILE="/var/lib/collectd/traffic-eth0.rrd"
HOST=""

if [ -n "$SERVER_NAME" ]; then
	HOST=$SERVER_NAME
	echo "Content-Type: image/png";
	echo "";
else
	HOST=`hostname -f`
fi

rrdtool graph - -a PNG -t "$HOST eth0 traffic" -v "Bit/s" \
	-c "BACK#000000" \
	-c "SHADEA#000000" \
	-c "SHADEB#000000" \
	-c "FONT#dddddd" \
	-c "CANVAS#202020" \
	-c "GRID#666666" \
	-c "MGRID#aaaaaa" \
	-c "FRAME#202020" \
	-c "ARROW#ffffff" \
	"DEF:out_avg=$FILE:outgoing:AVERAGE" \
	"DEF:out_max=$FILE:outgoing:MAX" \
	"DEF:inc_avg=$FILE:incoming:AVERAGE" \
	"DEF:inc_max=$FILE:incoming:MAX" \
	'CDEF:out_avg_bit=out_avg,8,*' \
	'CDEF:out_max_bit=out_max,8,*' \
	'CDEF:inc_avg_bit=inc_avg,8,*' \
	'CDEF:inc_max_bit=inc_max,8,*' \
	'CDEF:overlap=out_avg_bit,inc_avg_bit,GT,inc_avg_bit,out_avg_bit,IF' \
	'CDEF:mytime=out_avg,out_avg,-,TIME,+' \
	'CDEF:sample_len_raw=mytime,PREV(mytime),-' \
	'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF' \
	'CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*' \
	'CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+' \
	'CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*' \
	'CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+' \
	'AREA:out_avg_bit#408040' \
	'AREA:inc_avg_bit#404080' \
	'AREA:overlap#4080A0' \
	'LINE1:out_avg_bit#00ff00:Outgoing' \
	'GPRINT:out_avg_bit:AVERAGE:%5.1lf%s Avg,' \
	'GPRINT:out_max_bit:MAX:%5.1lf%s Max,' \
	'GPRINT:out_avg_bit:LAST:%5.1lf%s Last,' \
	'GPRINT:out_avg_sum:LAST:%5.1lf%sB Total\l' \
	'LINE1:inc_avg_bit#0000ff:Incoming' \
	'GPRINT:inc_avg_bit:AVERAGE:%5.1lf%s Avg,' \
	'GPRINT:inc_max_bit:MAX:%5.1lf%s Max,' \
	'GPRINT:inc_avg_bit:LAST:%5.1lf%s Last,' \
	'GPRINT:inc_avg_sum:LAST:%5.1lf%sB Total\l'
