X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=clearadm%2Fplotloadavg.cgi;h=d5cb7cad514b23284f36bc0b28ad18409f2e09e7;hb=7ddf095f187ca60d9a70fb83b2bc3c2b6d91f088;hp=853edd8dc035260343a0f12daec2ea48aac70080;hpb=e43fa4c2283862d5bfdae9b1d221ec277441ebb4;p=clearscm.git diff --git a/clearadm/plotloadavg.cgi b/clearadm/plotloadavg.cgi index 853edd8..d5cb7ca 100755 --- a/clearadm/plotloadavg.cgi +++ b/clearadm/plotloadavg.cgi @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/local/bin/perl =pod @@ -59,6 +59,7 @@ use strict; use warnings; use FindBin; +use Convert::Base64; use lib "$FindBin::Bin/lib", "$FindBin::Bin/../lib"; @@ -66,7 +67,7 @@ use Clearadm; use ClearadmWeb; use Display; -use CGI qw (:standard :cgi-lib); +use CGI qw(:standard :cgi-lib); use GD::Graph::area; my %opts = Vars; @@ -87,7 +88,7 @@ if ($opts{tiny}) { my $clearadm = Clearadm->new; -my $graph = GD::Graph::area->new ($opts{width}, $opts{height}); +my $graph = GD::Graph::area->new($opts{width}, $opts{height}); graphError "System is required" unless $opts{system}; @@ -95,20 +96,20 @@ graphError "System is required" graphError "Points not numeric (points: $opts{points})" if $opts{points} and $opts{points} !~ /^\d+$/; -my @loads = $clearadm->GetLoadavg ( +my @loads = $clearadm->GetLoadavg( $opts{system}, $opts{start}, $opts{end}, $opts{points}, - $opts{scaling} + $opts{scaling}, ); -graphError "No loadavg data found for system $opts{system}" +graphError "No loadavg data" unless @loads; my (@x, @y); -foreach (@loads) { +for (@loads) { my %load = %{$_}; if ($opts{tiny}) { @@ -118,7 +119,7 @@ foreach (@loads) { } # if push @y, $load{loadavg}; -} # foreach +} # for my @data = ([@x], [@y]); @@ -133,7 +134,7 @@ my $y_label = $opts{tiny} ? '' : 'Load'; my $title = $opts{tiny} ? '' : "Load Average for $opts{system}"; my $labelY = $opts{tiny} ? '' : '%.2f'; -$graph->set ( +$graph->set( x_label => $x_label, x_labels_vertical => 1, x_label_skip => $x_label_skip, @@ -154,8 +155,12 @@ $graph->set ( my $image = $graph->plot(\@data) or croak $graph->error; -print "Content-type: image/png\n\n"; -print $image->png; +unless ($opts{generate}) { + print "Content-type: image/png\n\n"; + print $image->png; +} else { + print encode_base64 $image->png; +} # unless =pod @@ -207,4 +212,4 @@ Please report problems to Andrew DeFaria . Copyright (c) 2010, ClearSCM, Inc. All rights reserved. -=cut \ No newline at end of file +=cut