Apache-VMonitor

 view release on metacpan or  search on metacpan

lib/Apache/VMonitor.pm  view on Meta::CPAN

        my @sects = qw(system apache procs fs_usage mount);
        $cfg->{$_} && push @items, $_ for @sects;
        push @items, qw(nav_bar);
        $cfg->{$_} && push @items, $_ for qw(verbose);

    }

    push @items, qw(end_html);

    for my $item (@items) {
        my $tmpl_block = "tmpl_$item";
        my $data_sub = $self->can("data_$item");
        my $data = $data_sub ? $self->$data_sub : {};
        if (MP2 || $] >= 5.008) {
            $tt->process($tmpl_block, $data) or warn $tt->error();
        }
        else {
            # mp1 && perl < 5.008 can't handle the above
            my $x;
            $tt->process($tmpl_block, $data, \$x) or warn $tt->error();
            print $x;
        }
    }
}







### start_html ###

sub data_start_html {
    my $self = shift;
   # return {};

    my $url = $self->{url};
    my $cfg = $self->{cfg};

    my @rates = map {
        [$_, ($cfg->{refresh} == $_ ? '' : fixup_url($url, 'refresh', $_)) ];
    } qw(0 1 5 10 20 30 60);

    return {
        rate  => $cfg->{refresh},
        rates => \@rates,
    };

}

sub tmpl_start_html {

    return \ <<'EOT';
<html>
<head>
  <title>Apache::VMonitor</title>
  <style type="text/css">
  body {
    color: #000;
    background-color: #fff;
    border: 0px;
    padding: 0px 0px 0px 0px;
    margin: 5px 5px 5px 5px;
    font-size: 0.8em;
  }
  p.hdr {
    background-color: #ddd;
    border: 2px outset;
    padding: 3px;
    width: 99%;
  }
  span.item_even {
    background-color: #dddddd;
    color: #000000;
  }
  span.item_odd {
    background-color: #ffffff;
    color: #000000;
  }
  span.normal {
    color: #000000;
  }
  span.warn {
    color: #ff99cc;
  }
  span.alert {
    color: #ff0000;
  }
  </style>
</head>
<body bgcolor="white">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><font size=+1 color="#339966">Apache::VMonitor</font></b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Refresh rate:&nbsp;&nbsp;
[%-
  IF rates.size;
    FOREACH item = rates;
      IF item.1;
        "<a href=\"${item.1}\">[ ${item.0} ]</a>&nbsp;&nbsp;";
      ELSE;
        "[ ${item.0} ]&nbsp;&nbsp;";
      END;
    END;
  END;
-%]
<br>
EOT

}






### end_html ###

# not needed
sub data_end_html { {} }

sub tmpl_end_html {
    return \ <<'EOT';
</body>
</html>
EOT
}




### nav_bar ###

sub data_nav_bar {
    my $self = shift;

    my $url = $self->{url};



( run in 1.857 second using v1.01-cache-2.11-cpan-d8267643d1d )