#!/bin/sh

FILE="/var/lib/collectd/cpu-0.rrd"
HOST=""

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

#	--x-grid 'MINUTE:30:HOUR:1:HOUR:2:0:%H' \
rrdtool graph - -a PNG -t "$HOST cpu usage" -v "Percent" \
	-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:user_avg=$FILE:user:AVERAGE" \
	"DEF:user_min=$FILE:user:MIN" \
	"DEF:user_max=$FILE:user:MAX" \
	"DEF:nice_avg=$FILE:nice:AVERAGE" \
	"DEF:nice_min=$FILE:nice:MIN" \
	"DEF:nice_max=$FILE:nice:MAX" \
	"DEF:syst_avg=$FILE:syst:AVERAGE" \
	"DEF:syst_min=$FILE:syst:MIN" \
	"DEF:syst_max=$FILE:syst:MAX" \
	"DEF:idle_avg=$FILE:idle:AVERAGE" \
	"DEF:idle_min=$FILE:idle:MIN" \
	"DEF:idle_max=$FILE:idle:MAX" \
	"DEF:wait_avg=$FILE:wait:AVERAGE" \
	"DEF:wait_min=$FILE:wait:MIN" \
	"DEF:wait_max=$FILE:wait:MAX" \
	'CDEF:nice_acc=syst_avg,wait_avg,user_avg,nice_avg,+,+,+' \
	'CDEF:user_acc=syst_avg,wait_avg,user_avg,+,+' \
	'CDEF:wait_acc=syst_avg,wait_avg,+' \
	'CDEF:syst_acc=syst_avg' \
	'AREA:nice_acc#408040' \
	'AREA:user_acc#404080' \
	'AREA:wait_acc#808040' \
	'AREA:syst_acc#804040' \
	'LINE1:nice_acc#00FF00:Nice   ' \
	'GPRINT:nice_min:MIN:%5.1lf%% Min,' \
	'GPRINT:nice_avg:AVERAGE:%5.1lf%% Avg,' \
	'GPRINT:nice_max:MAX:%5.1lf%% Max,' \
	'GPRINT:nice_avg:LAST:%5.1lf%% Last\n' \
	'LINE1:user_acc#0000FF:User   ' \
	'GPRINT:user_min:MIN:%5.1lf%% Min,' \
	'GPRINT:user_avg:AVERAGE:%5.1lf%% Avg,' \
	'GPRINT:user_max:MAX:%5.1lf%% Max,' \
	'GPRINT:user_avg:LAST:%5.1lf%% Last\n' \
	'LINE1:wait_acc#FFFF00:Wait-IO' \
	'GPRINT:wait_min:MIN:%5.1lf%% Min,' \
	'GPRINT:wait_avg:AVERAGE:%5.1lf%% Avg,' \
	'GPRINT:wait_max:MAX:%5.1lf%% Max,' \
	'GPRINT:wait_avg:LAST:%5.1lf%% Last\n' \
	'LINE1:syst_acc#FF0000:System ' \
	'GPRINT:syst_min:MIN:%5.1lf%% Min,' \
	'GPRINT:syst_avg:AVERAGE:%5.1lf%% Avg,' \
	'GPRINT:syst_max:MAX:%5.1lf%% Max,' \
	'GPRINT:syst_avg:LAST:%5.1lf%% Last\n'
