#!/usr/bin/perl -w
#%# family=auto
#%# capabilities=autoconf

$showruntimestats="/opt/open-xchange/sbin/showruntimestats";
$showexec="$showruntimestats -p";

if ( $ARGV[0] and $ARGV[0] eq "autoconf")
{
	if (-x $showruntimestats) {
		print "yes\n";
		exit 0;
	}
	else {
		print "no\n";
		exit 0;
	}
}

if ($ARGV[0] and $ARGV[0] eq "config") {
    print "graph_title ThreadPool Tasks\n";
    print "graph_args --base 1000 -l 0\n";
    print "graph_category Open Xchange\n";
    print "graph_vlabel Tasks/s\n";
    print "a.label TaskCount\n";
    print "a.draw LINE1\n";
    print "a.type DERIVE\n";
    print "a.min 0\n";
    print "b.label CompletedTaskCount\n";
    print "b.draw LINE1\n";
    print "b.type DERIVE\n";
    print "b.min 0\n";
    exit 0
}

open(SHOWRUNTIME,"$showexec |") || die "can not read monitoring output";   

while (<SHOWRUNTIME>) {
    if ( $_ =~ /ThreadPoolInformation,TaskCount/) {
        s/.*\=//; 
        $val=$_+0;
        print "a.value $val\n";
        next;
    }
    if ( $_ =~ /ThreadPoolInformation,CompletedTaskCount/) {
        s/.*\=//; 
        $val=$_+0;
        print "b.value $val\n";
        next;
    }
}

close (SHOWRUNTIME);
