#!/usr/bin/perl

#
# script for RRDtool to collect loadavg
#

$step=60;
$base="/var/rrd/loadavg.rrd";

if ($ARGV[0] eq init){
    
    system("rrdtool create $base --step $step".
    " DS:load_average:GAUGE:200:0:99".
    " RRA=AVERAGE:0.5:1:1440".	# 1440 samples every minute - day
    " RRA=AVERAGE:0.5:5:2016"); # 2016 samples every 5 minute - week
    
    exit;
}

if ($ARGV[0] eq update){

# load avg
    open LA,"</proc/loadavg";
    $_=<LA>;
    ($l1)=split / /;
    #print("$l1\n");        
    
    close LA;

    $n=time;
    system("rrdtool update $base $n:$l1");
    
    exit;
}

if ($ARGV[0] eq day){
    system("rrdtool graph /tmp/day-loadavg.gif -t \"Load Average\" ".
	"DEF:load_average=$base:load_average:AVERAGE ".
	"AREA:load_average#ff0000:\"Load Average\" ".
	"-h 200 ");    
    exit;
}

if($ARGV[0] eq remove){
    unlink $base;
}

if($ARGV[0] eq descr){
    print("Load Average Graph:/tmp/day-loadavg.gif\n");
}

