From a8babb6d0d7f9269e91c6d841fe9874e743f8f41 Mon Sep 17 00:00:00 2001 From: Tom Laermans Date: Tue, 8 Jun 2010 18:22:00 +0000 Subject: [PATCH] pass arguments to rrdtool via stdin instead of commandline (experimental, please find regressions if any ;)) git-svn-id: http://www.observium.org/svn/observer/trunk@1107 61d68cd4-352d-0410-923a-c4978735b2b8 --- html/graph.php | 6 ++++-- html/includes/graphs/generic_bits.inc.php | 8 ++++---- html/includes/graphs/generic_duplex.inc.php | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/html/graph.php b/html/graph.php index c2027b761..38a6f5080 100644 --- a/html/graph.php +++ b/html/graph.php @@ -57,8 +57,10 @@ if($_GET['debug']) { } if($rrd_options) { - if($_GET['debug']) { echo("
".$config['rrdtool'] . " graph $graphfile $rrd_options"); }
-    $thing = shell_exec($config['rrdtool'] . " graph $graphfile $rrd_options");
+    if($_GET['debug']) { echo("
".$config['rrdtool'] . " graph $graphfile $rrd_options\n\n"); }
+    $thing = popen($config['rrdtool'] . " -",'w');
+    fputs($thing, "graph $graphfile $rrd_options");
+    pclose($thing);
     if(is_file($graphfile)) {
       header('Content-type: image/png');
       $fd = fopen($graphfile,'r');fpassthru($fd);fclose($fd);
diff --git a/html/includes/graphs/generic_bits.inc.php b/html/includes/graphs/generic_bits.inc.php
index 53e661693..443e0b760 100644
--- a/html/includes/graphs/generic_bits.inc.php
+++ b/html/includes/graphs/generic_bits.inc.php
@@ -31,7 +31,7 @@ $rrd_options .= " VDEF:d95thout=doutbits,5,PERCENT";
 $rrd_options .= " AREA:inbits_max#aDEB7B:";
 $rrd_options .= " AREA:inbits#CDEB8B:";
 $rrd_options .= " COMMENT:'BPS      Now       Ave      Max      95th %\\n'";
-$rrd_options .= " LINE1.25:inbits#006600:In\ ";
+$rrd_options .= " LINE1.25:inbits#006600:'In '";
 $rrd_options .= " GPRINT:inbits:LAST:%6.2lf%s";
 $rrd_options .= " GPRINT:inbits:AVERAGE:%6.2lf%s";
 $rrd_options .= " GPRINT:inbits_max:MAX:%6.2lf%s";
@@ -43,9 +43,9 @@ $rrd_options .= " GPRINT:outbits:LAST:%6.2lf%s";
 $rrd_options .= " GPRINT:outbits:AVERAGE:%6.2lf%s";
 $rrd_options .= " GPRINT:outbits_max:MAX:%6.2lf%s";
 $rrd_options .= " GPRINT:95thout:%6.2lf%s\\\\n";
-$rrd_options .= " GPRINT:tot:Total\ %6.2lf%s";
-$rrd_options .= " GPRINT:totin:\(In\ %6.2lf%s";
-$rrd_options .= " GPRINT:totout:Out\ %6.2lf%s\)\\\\l";
+$rrd_options .= " GPRINT:tot:'Total %6.2lf%s'";
+$rrd_options .= " GPRINT:totin:'(In %6.2lf%s'";
+$rrd_options .= " GPRINT:totout:'Out %6.2lf%s)\\\\l'";
 $rrd_options .= " LINE1:95thin#aa0000";
 $rrd_options .= " LINE1:d95thout#aa0000";
 
diff --git a/html/includes/graphs/generic_duplex.inc.php b/html/includes/graphs/generic_duplex.inc.php
index 5cf52ed3f..991085070 100644
--- a/html/includes/graphs/generic_duplex.inc.php
+++ b/html/includes/graphs/generic_duplex.inc.php
@@ -57,9 +57,9 @@ if($percentile) {
 }
 $rrd_options .= " COMMENT:\\\\n";
 if($print_total) {
-  $rrd_options .= " GPRINT:tot:Total\ %6.2lf%s";
-  $rrd_options .= " GPRINT:totin:\(In\ %6.2lf%s";
-  $rrd_options .= " GPRINT:totout:Out\ %6.2lf%s\)\\\\l";
+  $rrd_options .= " GPRINT:tot:'Total\ %6.2lf%s'";
+  $rrd_options .= " GPRINT:totin:'(In %6.2lf%s'";
+  $rrd_options .= " GPRINT:totout:'Out %6.2lf%s)\\\\l'";
 }
 if($percentile) {
   $rrd_options .= " LINE1:percentile_in#aa0000";