#!/bin/sh

FILE="/var/lib/collectd/swap.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 swap 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_raw=$FILE:used:AVERAGE" \
	"DEF:used_min=$FILE:used:MIN" \
	"DEF:used_max=$FILE:used:MAX" \
	"DEF:free_avg_raw=$FILE:free:AVERAGE" \
	"DEF:free_min=$FILE:free:MIN" \
	"DEF:free_max=$FILE:free:MAX" \
	"DEF:cach_avg_raw=$FILE:cached:AVERAGE" \
	"DEF:cach_min=$FILE:cached:MIN" \
	"DEF:cach_max=$FILE:cached:MAX" \
	"DEF:resv_avg_raw=$FILE:resv:AVERAGE" \
	"DEF:resv_min=$FILE:resv:MIN" \
	"DEF:resv_max=$FILE:resv:MAX" \
	'CDEF:used_avg=used_avg_raw,UN,0,used_avg_raw,IF' \
	'CDEF:free_avg=free_avg_raw,UN,0,free_avg_raw,IF' \
	'CDEF:cach_avg=cach_avg_raw,UN,0,cach_avg_raw,IF' \
	'CDEF:resv_avg=resv_avg_raw,UN,0,resv_avg_raw,IF' \
	'CDEF:free_acc=used_avg,resv_avg,cach_avg,free_avg,+,+,+' \
	'CDEF:cach_acc=used_avg,resv_avg,cach_avg,+,+' \
	'CDEF:resv_acc=used_avg,resv_avg,+' \
	'CDEF:used_acc=used_avg' \
	'AREA:free_acc#408040' \
	'AREA:cach_acc#404080' \
	'AREA:resv_acc#808040' \
	'AREA:used_acc#804040' \
	'LINE1:free_acc#00ff00:Free    ' \
	'GPRINT:free_min:MIN:%5.1lf%s Min,' \
	'GPRINT:free_avg_raw:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:free_max:MAX:%5.1lf%s Max,' \
	'GPRINT:free_avg_raw:LAST:%5.1lf%s Last\n' \
	'LINE1:cach_acc#0000ff:Cached  ' \
	'GPRINT:cach_min:MIN:%5.1lf%s Min,' \
	'GPRINT:cach_avg_raw:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:cach_max:MAX:%5.1lf%s Max,' \
	'GPRINT:cach_avg_raw:LAST:%5.1lf%s Last\n' \
	'LINE1:resv_acc#ffff00:Reserved' \
	'GPRINT:resv_min:MIN:%5.1lf%s Min,' \
	'GPRINT:resv_avg_raw:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:resv_max:MAX:%5.1lf%s Max,' \
	'GPRINT:resv_avg_raw:LAST:%5.1lf%s Last\n' \
	'LINE1:used_acc#ff0000:Used    ' \
	'GPRINT:used_min:MIN:%5.1lf%s Min,' \
	'GPRINT:used_avg_raw:AVERAGE:%5.1lf%s Average,' \
	'GPRINT:used_max:MAX:%5.1lf%s Max,' \
	'GPRINT:used_avg_raw:LAST:%5.1lf%s Last\n'
