#!/bin/sh

FILE="/var/lib/collectd/memory.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 memory info" -v "Bytes" -b 1024 \
	-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:used_avg=$FILE:used:AVERAGE" \
	"DEF:used_min=$FILE:used:MIN" \
	"DEF:used_max=$FILE:used:MAX" \
	"DEF:free_avg=$FILE:free:AVERAGE" \
	"DEF:free_min=$FILE:free:MIN" \
	"DEF:free_max=$FILE:free:MAX" \
	"DEF:buff_avg=$FILE:buffers:AVERAGE" \
	"DEF:buff_min=$FILE:buffers:MIN" \
	"DEF:buff_max=$FILE:buffers:MAX" \
	"DEF:cach_avg=$FILE:cached:AVERAGE" \
	"DEF:cach_min=$FILE:cached:MIN" \
	"DEF:cach_max=$FILE:cached:MAX" \
	'CDEF:free_acc=used_avg,buff_avg,cach_avg,free_avg,+,+,+' \
	'CDEF:cach_acc=used_avg,buff_avg,cach_avg,+,+' \
	'CDEF:buff_acc=used_avg,buff_avg,+' \
	'CDEF:used_acc=used_avg' \
	'AREA:free_acc#408040' \
	'AREA:cach_acc#404080' \
	'AREA:buff_acc#808040' \
	'AREA:used_acc#804040' \
	'LINE1:free_acc#00ff00:Free        ' \
	'GPRINT:free_min:MIN:%5.1lf%s Min,' \
	'GPRINT:free_avg:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:free_max:MAX:%5.1lf%s Max,' \
	'GPRINT:free_avg:LAST:%5.1lf%s Last\n' \
	'LINE1:cach_acc#0000ff:Page cache  ' \
	'GPRINT:cach_min:MIN:%5.1lf%s Min,' \
	'GPRINT:cach_avg:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:cach_max:MAX:%5.1lf%s Max,' \
	'GPRINT:cach_avg:LAST:%5.1lf%s Last\n' \
	'LINE1:buff_acc#ffff00:Buffer cache' \
	'GPRINT:buff_min:MIN:%5.1lf%s Min,' \
	'GPRINT:buff_avg:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:buff_max:MAX:%5.1lf%s Max,' \
	'GPRINT:buff_avg:LAST:%5.1lf%s Last\n' \
	'LINE1:used_acc#ff0000:Used        ' \
	'GPRINT:used_min:MIN:%5.1lf%s Min,' \
	'GPRINT:used_avg:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:used_max:MAX:%5.1lf%s Max,' \
	'GPRINT:used_avg:LAST:%5.1lf%s Last\n'
