add an RBN line to progress
[spider.git] / perl / Mrtg.pm
index 8a6e79edce3f41a215531a842a8c19d07d4b0f3b..d95c41cb19ed65bd46c7ead69d341904959f4638 100644 (file)
@@ -1,9 +1,9 @@
-#
+##
 # the MRTG handler
 #
 # Copyright (c) - 2002 Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 package Mrtg;
@@ -14,12 +14,6 @@ use DXDebug;
 use DXUtil;
 use strict;
 
-use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
-
 sub new
 {
        my $pkg = shift;
@@ -42,6 +36,7 @@ Htmldir: $self->{html}
 Imagedir: $self->{html}
 Logdir: $self->{dir}
 Options[_]: growright
+Timezone[_]: GMT
 ##
 ##
 EOF
@@ -53,20 +48,30 @@ sub run
 {
        my $self = shift;
        $self->{mc}->close;
-       return `mrtg $self->{cfg}`;
+       return `mrtg --lock-file=$self->{dir}/mrtg.lock --confcache-file=$self->{dir}/mrtg.confcache $self->{cfg}`;
 }
 
-sub cfgprint
+sub data
 {
-       my ($self, $name, $vali, $valo, $options, $max, $title, $legend, $iname, $oname) = @_;
-       my $opt = join ', ', @$options, qw(withzeroes gauge growright nopercent integer);
+       my ($self, $name, $vali, $valo, $title) = @_;
        my $uptime = main::uptime();
+       $vali ||= 0;
+       $valo ||= 0;
 
-       if (my $m = new IO::File ">$self->{dir}/$name") {
+       if (my $m = new IO::File ">$self->{dir}/$name" ) {
                $m->print("$vali\n$valo\n$uptime\n$title\n");
                $m->close;
+       } else {
+               dbg("MRTG: cannot open $self->{dir}/$name $!");
        }
-               
+}
+
+sub cfgprint
+{
+       my ($self, $name, $options, $max, $title, $legend, $iname, $oname, $yticsfactor) = @_;
+       my $opt = join ', ', @$options, qw(withzeroes growright nopercent integer);
+       $yticsfactor ||= 1;
+
        $self->{mc}->print(<<"EOF");
 
 #
@@ -78,7 +83,7 @@ MaxBytes[$name]: $max
 Title[$name]: $title
 Options[$name]: $opt
 YLegend[$name]: $legend
-YTicsFactor[$name]: 1
+YTicsFactor[$name]: $yticsfactor
 ShortLegend[$name]: \&nbsp;
 Legend1[$name]:Maximum No of $iname
 Legend2[$name]:Maximum No of $oname