#!/bin/sh


RRD="dbmail-mem.rrd"
setup() {
	echo "Setting up RRD"
	rrdtool create $RRD --step 60 --start "now - 365 days" \
		DS:drs:GAUGE:120:0:10000000 \
		RRA:AVERAGE:0.5:1:525600 \
		RRA:MIN:0.5:12:525600 \
		RRA:MAX:0.5:12:525600 \
		DS:rss:GAUGE:120:0:10000000 \
		RRA:AVERAGE:0.5:1:525600 \
		RRA:MIN:0.5:12:525600 \
		RRA:MAX:0.5:12:525600
}

update() {
	/bin/ps v -p `pidof dbmail-imapd`|tail -1|awk '{print "N:"$7":"$8}' |\
		xargs -l1 rrdtool update $RRD
}

graph() {
        rrdtool graph dbmail-mem-hour.png --start=-1hour --end=now --step 60 --alt-autoscale-max \
                --slope-mode \
		--title "DBMail memory (hour)" \
                DEF:drs=$RRD:drs:AVERAGE:start=-1hour \
                DEF:rss=$RRD:rss:AVERAGE:start=-1hour \
                LINE:drs#ff0000:"DRS" \
                LINE:rss#943778:"RSS"
        rrdtool graph dbmail-mem-day.png --start=-1day --end=now --step 60 --alt-autoscale-max \
                --slope-mode \
		--title "DBMail memory (day)" \
                DEF:drs=$RRD:drs:AVERAGE:start=-1day \
                DEF:rss=$RRD:rss:AVERAGE:start=-1day \
                LINE:drs#ff0000:"DRS" \
                LINE:rss#943778:"RSS"
        rrdtool graph dbmail-mem-week.png --start=-1week --end=now --step 60 --alt-autoscale-max \
                --slope-mode \
		--title "DBMail memory (week)" \
                DEF:drs=$RRD:drs:AVERAGE:start=-1week \
                DEF:rss=$RRD:rss:AVERAGE:start=-1week \
                LINE:drs#ff0000:"DRS" \
                LINE:rss#943778:"RSS"
        rrdtool graph dbmail-mem-month.png --start=-1month --end=now --step 60 --alt-autoscale-max \
                --slope-mode \
		--title "DBMail memory (month)" \
                DEF:drs=$RRD:drs:AVERAGE:start=-1month \
                DEF:rss=$RRD:rss:AVERAGE:start=-1month \
                LINE:drs#ff0000:"DRS" \
                LINE:rss#943778:"RSS"
        rrdtool graph dbmail-mem-year.png --start=-1year --end=now --step 60 --alt-autoscale-max \
                --slope-mode \
		--title "DBMail memory (year)" \
                DEF:drs=$RRD:drs:AVERAGE:start=-1year \
                DEF:rss=$RRD:rss:AVERAGE:start=-1year \
                LINE:drs#ff0000:"DRS" \
                LINE:rss#943778:"RSS"
}

cd `dirname $0`

test -e $RRD || setup

update
graph
