From 70aa64fe6625d1f531ae523d42934639a4dea583 Mon Sep 17 00:00:00 2001 From: mattf Date: Thu, 26 Sep 2013 11:01:58 +0000 Subject: [PATCH] Fixes for AST_server_performance.php report git-svn-id: svn://192.168.202.10@2024 3d104415-ff17-0410-8863-d5cf3c621b8a --- www/vicidial/AST_server_performance.php | 452 +++++++++++++----------- 1 file changed, 237 insertions(+), 215 deletions(-) diff --git a/www/vicidial/AST_server_performance.php b/www/vicidial/AST_server_performance.php index a1f66fba..1b35e764 100644 --- a/www/vicidial/AST_server_performance.php +++ b/www/vicidial/AST_server_performance.php @@ -20,6 +20,7 @@ # 130610-0959 - Finalized changing of all ereg instances to preg # 130621-0726 - Added filtering of input to prevent SQL injection attacks and new user auth # 130901-2012 - Changed to mysqli PHP functions +# 130926-0658 - Added check for several different ploticus bin paths # $startMS = microtime(); @@ -135,10 +136,14 @@ $LOGserver_name = getenv("SERVER_NAME"); $LOGserver_port = getenv("SERVER_PORT"); $LOGrequest_uri = getenv("REQUEST_URI"); $LOGhttp_referer = getenv("HTTP_REFERER"); -if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} - else {$HTTPprotocol = 'http://';} -if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} -else {$LOGserver_port = ":$LOGserver_port";} +if (preg_match("/443/i",$LOGserver_port)) + {$HTTPprotocol = 'https://';} +else + {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) + {$LOGserver_port='';} +else + {$LOGserver_port = ":$LOGserver_port";} $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; @@ -228,12 +233,14 @@ echo "
\n"; echo "Date/Time Range: \n"; echo "to \n"; echo "Server: \n"; echo "\n"; @@ -244,226 +251,242 @@ echo "
\n";
 
 
 if (!$group)
-{
-echo "\n";
-echo "PLEASE SELECT A SERVER AND DATE/TIME RANGE ABOVE AND CLICK SUBMIT\n";
-}
+	{
+	echo "\n";
+	echo "PLEASE SELECT A SERVER AND DATE/TIME RANGE ABOVE AND CLICK SUBMIT\n";
+	}
 
 else
-{
-
-$query_date_BEGIN = $begin_query_time;   
-$query_date_END = $end_query_time;
-
-
-echo "Server Performance Report                            $NOW_TIME\n";
-
-echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
-echo "---------- TOTALS, PEAKS and AVERAGES\n";
-
-$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
-$rslt=mysql_to_mysqli($stmt, $link);
-if ($DB) {echo "$stmt\n";}
-$row=mysqli_fetch_row($rslt);
-$AVGload =	sprintf("%10s", $row[0]);
-$AVGchannels =	sprintf("%10s", $row[1]);
-$HIGHload =	$row[2];
-	$HIGHmulti = intval($HIGHload / 100);
-$HIGHchannels =	$row[3];
-$HIGHprocesses =$row[4];
-if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
-else {$HIGHlimit = $row[3];}
-if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
-
-$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
-$rslt=mysql_to_mysqli($stmt, $link);
-if ($DB) {echo "$stmt\n";}
-$row=mysqli_fetch_row($rslt);
-$AVGcpuUSER =	sprintf("%10s", $row[0]);
-$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
-$AVGcpuIDLE =	sprintf("%10s", $row[2]);
-
-$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
-$rslt=mysql_to_mysqli($stmt, $link);
-if ($DB) {echo "$stmt\n";}
-$row=mysqli_fetch_row($rslt);
-$TOTALcalls =	sprintf("%10s", $row[0]);
-$OFFHOOKtime =	sprintf("%10s", $row[1]);
-
-
-echo "Total Calls in/out on this server:        $TOTALcalls\n";
-echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
-echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
-echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
-echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
-echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
-echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
-
-echo "\n";
-echo "---------- LINE GRAPH:\n";
-
-
-
-##############################
-#########  Graph stats
-
-$DAT = '.dat';
-$HTM = '.htm';
-$PNG = '.png';
-$filedate = date("Y-m-d_His");
-$DATfile = "$group$query_date$shift$filedate$DAT";
-$HTMfile = "$group$query_date$shift$filedate$HTM";
-$PNGfile = "$group$query_date$shift$filedate$PNG";
-
-$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
-$DATfp = fopen ("$DOCroot/$DATfile", "a");
-
-$stmt="select DATE_FORMAT(start_time,'%Y-%m-%d.%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysqli_real_escape_string($link, $group) . "' and start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' order by timex limit 99999;";
-$rslt=mysql_to_mysqli($stmt, $link);
-if ($DB) {echo "$stmt\n";}
-$rows_to_print = mysqli_num_rows($rslt);
-$i=0;
-while ($i < $rows_to_print)
 	{
+	$query_date_BEGIN = $begin_query_time;   
+	$query_date_END = $end_query_time;
+
+
+	echo "Server Performance Report                            $NOW_TIME\n";
+
+	echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+	echo "---------- TOTALS, PEAKS and AVERAGES\n";
+
+	$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
+	$rslt=mysql_to_mysqli($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
 	$row=mysqli_fetch_row($rslt);
-	if ($i<1) {$time_BEGIN = $row[0];}
-	$time_END = $row[0];
-	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
-	$row[6] = intval($row[6] * $HIGHmulti);
-	if ($rows_to_print > 9999)
+	$AVGload =	sprintf("%10s", $row[0]);
+	$AVGchannels =	sprintf("%10s", $row[1]);
+	$HIGHload =	$row[2];
+		$HIGHmulti = intval($HIGHload / 100);
+	$HIGHchannels =	$row[3];
+	$HIGHprocesses =$row[4];
+	if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+	else {$HIGHlimit = $row[3];}
+	if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+	$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
+	$rslt=mysql_to_mysqli($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysqli_fetch_row($rslt);
+	$AVGcpuUSER =	sprintf("%10s", $row[0]);
+	$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+	$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+	$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' and server_ip='" . mysqli_real_escape_string($link, $group) . "';";
+	$rslt=mysql_to_mysqli($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysqli_fetch_row($rslt);
+	$TOTALcalls =	sprintf("%10s", $row[0]);
+	$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+	echo "Total Calls in/out on this server:        $TOTALcalls\n";
+	echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+	echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+	echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+	echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+	echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+	echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+	echo "\n";
+	echo "---------- LINE GRAPH:\n";
+
+
+
+	##############################
+	#########  Graph stats
+
+	$DAT = '.dat';
+	$HTM = '.htm';
+	$PNG = '.png';
+	$filedate = date("Y-m-d_His");
+	$DATfile = "$group$query_date$shift$filedate$DAT";
+	$HTMfile = "$group$query_date$shift$filedate$HTM";
+	$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+	$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+	$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+	$stmt="select DATE_FORMAT(start_time,'%Y-%m-%d.%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysqli_real_escape_string($link, $group) . "' and start_time <= '" . mysqli_real_escape_string($link, $query_date_END) . "' and start_time >= '" . mysqli_real_escape_string($link, $query_date_BEGIN) . "' order by timex limit 99999;";
+	$rslt=mysql_to_mysqli($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysqli_num_rows($rslt);
+	$i=0;
+	while ($i < $rows_to_print)
 		{
-		if ($rows_to_print <= 19999)
+		$row=mysqli_fetch_row($rslt);
+		if ($i<1) {$time_BEGIN = $row[0];}
+		$time_END = $row[0];
+		$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+		$row[6] = intval($row[6] * $HIGHmulti);
+		if ($rows_to_print > 9999)
 			{
-			if (preg_match("/0$|2$|4$|6$|8$/",$i))
+			if ($rows_to_print <= 19999)
 				{
-				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+				if (preg_match("/0$|2$|4$|6$|8$/",$i))
+					{
+					fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+					}
+				}
+			if ( ($rows_to_print > 19999) and ($rows_to_print <= 49999) )
+				{
+				if (preg_match("/0$|5$/",$i))
+					{
+					fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+					}
+				}
+			if ( ($rows_to_print > 49999) and ($rows_to_print <= 99999) )
+				{
+				if (preg_match("/0$/",$i))
+					{
+					fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+					}
 				}
 			}
-		if ( ($rows_to_print > 19999) and ($rows_to_print <= 49999) )
+		else
 			{
-			if (preg_match("/0$|5$/",$i))
-				{
-				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
-				}
-			}
-		if ( ($rows_to_print > 49999) and ($rows_to_print <= 99999) )
-			{
-			if (preg_match("/0$/",$i))
-				{
-				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
-				}
+			fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
 			}
+		$i++;
+		}
+	fclose($DATfp);
+
+	$rows_to_max = ($rows_to_print + 100);
+
+	$time_scale_abb = '5 minutes';
+	$time_scale_tick = '1 minute';
+	if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+	if ($i > 1500) {$time_scale_abb = '15 minutes';   $time_scale_tick = '3 minutes';}
+	if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+	if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+	if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+	if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+	if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+	if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+	print "rows: $i   tick: $time_scale_abb   scale: $time_scale_tick\n";
+
+	$HTMcontent  = '';
+	$HTMcontent .= "#proc page\n";
+	$HTMcontent .= "#if @DEVICE in png,gif\n";
+	$HTMcontent .= "   scale: 0.6\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#endif\n";
+	$HTMcontent .= "#proc getdata\n";
+	$HTMcontent .= "file: $DOCroot/$DATfile\n";
+	$HTMcontent .= "fieldnames: userproc sysproc datetime load processes channels\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc areadef\n";
+	$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+	$HTMcontent .= "titledetails: size=14  align=C\n";
+	$HTMcontent .= "rectangle: 1 1 12 7\n";
+	$HTMcontent .= "xscaletype: datetime yyyy-mm-dd.hh:mm:ss\n";
+	$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+	$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc xaxis\n";
+	$HTMcontent .= "stubs: inc $time_scale_abb\n";
+	$HTMcontent .= "minorticinc: $time_scale_tick\n";
+	$HTMcontent .= "stubformat: hh:mma\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc yaxis\n";
+	$HTMcontent .= "stubs: inc 50\n";
+	$HTMcontent .= "grid: color=yellow\n";
+	$HTMcontent .= "gridskip: min\n";
+	$HTMcontent .= "ticincrement: 100 1000\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc lineplot\n";
+	$HTMcontent .= "xfield: datetime\n";
+	$HTMcontent .= "yfield: userproc\n";
+	$HTMcontent .= "linedetails: color=purple width=.5\n";
+	$HTMcontent .= "fill: lavender\n";
+	$HTMcontent .= "legendlabel: user proc%\n";
+	$HTMcontent .= "maxinpoints: $rows_to_max\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc lineplot\n";
+	$HTMcontent .= "xfield: datetime\n";
+	$HTMcontent .= "yfield: sysproc\n";
+	$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+	$HTMcontent .= "fill: dullyellow\n";
+	$HTMcontent .= "legendlabel: system proc%\n";
+	$HTMcontent .= "maxinpoints: $rows_to_max\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc curvefit\n";
+	$HTMcontent .= "xfield: datetime\n";
+	$HTMcontent .= "yfield: load\n";
+	$HTMcontent .= "linedetails: color=blue width=.5\n";
+	$HTMcontent .= "legendlabel: load\n";
+	$HTMcontent .= "maxinpoints: $rows_to_max\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc curvefit\n";
+	$HTMcontent .= "xfield: datetime\n";
+	$HTMcontent .= "yfield: processes\n";
+	$HTMcontent .= "linedetails: color=red width=.5\n";
+	$HTMcontent .= "legendlabel: processes\n";
+	$HTMcontent .= "maxinpoints: $rows_to_max\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc curvefit\n";
+	$HTMcontent .= "xfield: datetime\n";
+	$HTMcontent .= "yfield: channels\n";
+	$HTMcontent .= "linedetails: color=green width=.5\n";
+	$HTMcontent .= "legendlabel: channels\n";
+	$HTMcontent .= "maxinpoints: $rows_to_max\n";
+	$HTMcontent .= "\n";
+	$HTMcontent .= "#proc legend\n";
+	$HTMcontent .= "location: max-1 max\n";
+	$HTMcontent .= "seglen: 0.2\n";
+	$HTMcontent .= "\n";
+
+	fwrite ($HTMfp, "$HTMcontent");
+	fclose($HTMfp);
+
+	if (file_exists("/usr/local/bin/pl"))
+		{
+		passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
 		}
 	else
 		{
-		fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+		if (file_exists("/usr/bin/pl"))
+			{
+			passthru("/usr/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+			}
+		else
+			{
+			if (file_exists("/usr/bin/ploticus"))
+				{
+				passthru("/usr/bin/ploticus -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+				}
+			else
+				{
+				echo "ERROR: ploticus not found\n";
+				}
+			}
 		}
-	$i++;
+	sleep(1);
+
+	echo "
"; + echo "\n"; + echo "\n"; + + echo ""; } -fclose($DATfp); - -$rows_to_max = ($rows_to_print + 100); - -$time_scale_abb = '5 minutes'; -$time_scale_tick = '1 minute'; -if ($i > 1000) {$time_scale_abb = '10 minutes'; $time_scale_tick = '2 minutes';} -if ($i > 1500) {$time_scale_abb = '15 minutes'; $time_scale_tick = '3 minutes';} -if ($i > 2000) {$time_scale_abb = '20 minutes'; $time_scale_tick = '4 minutes';} -if ($i > 3000) {$time_scale_abb = '30 minutes'; $time_scale_tick = '5 minutes';} -if ($i > 4000) {$time_scale_abb = '40 minutes'; $time_scale_tick = '10 minutes';} -if ($i > 5000) {$time_scale_abb = '60 minutes'; $time_scale_tick = '15 minutes';} -if ($i > 6000) {$time_scale_abb = '90 minutes'; $time_scale_tick = '15 minutes';} -if ($i > 7000) {$time_scale_abb = '120 minutes'; $time_scale_tick = '30 minutes';} - -print "rows: $i tick: $time_scale_abb scale: $time_scale_tick\n"; - -$HTMcontent = ''; -$HTMcontent .= "#proc page\n"; -$HTMcontent .= "#if @DEVICE in png,gif\n"; -$HTMcontent .= " scale: 0.6\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#endif\n"; -$HTMcontent .= "#proc getdata\n"; -$HTMcontent .= "file: $DOCroot/$DATfile\n"; -$HTMcontent .= "fieldnames: userproc sysproc datetime load processes channels\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc areadef\n"; -$HTMcontent .= "title: Server $group $query_date_BEGIN to $query_date_END\n"; -$HTMcontent .= "titledetails: size=14 align=C\n"; -$HTMcontent .= "rectangle: 1 1 12 7\n"; -$HTMcontent .= "xscaletype: datetime yyyy-mm-dd.hh:mm:ss\n"; -$HTMcontent .= "xrange: $time_BEGIN $time_END\n"; -$HTMcontent .= "yrange: 0 $HIGHlimit\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc xaxis\n"; -$HTMcontent .= "stubs: inc $time_scale_abb\n"; -$HTMcontent .= "minorticinc: $time_scale_tick\n"; -$HTMcontent .= "stubformat: hh:mma\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc yaxis\n"; -$HTMcontent .= "stubs: inc 50\n"; -$HTMcontent .= "grid: color=yellow\n"; -$HTMcontent .= "gridskip: min\n"; -$HTMcontent .= "ticincrement: 100 1000\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc lineplot\n"; -$HTMcontent .= "xfield: datetime\n"; -$HTMcontent .= "yfield: userproc\n"; -$HTMcontent .= "linedetails: color=purple width=.5\n"; -$HTMcontent .= "fill: lavender\n"; -$HTMcontent .= "legendlabel: user proc%\n"; -$HTMcontent .= "maxinpoints: $rows_to_max\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc lineplot\n"; -$HTMcontent .= "xfield: datetime\n"; -$HTMcontent .= "yfield: sysproc\n"; -$HTMcontent .= "linedetails: color=yelloworange width=.5\n"; -$HTMcontent .= "fill: dullyellow\n"; -$HTMcontent .= "legendlabel: system proc%\n"; -$HTMcontent .= "maxinpoints: $rows_to_max\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc curvefit\n"; -$HTMcontent .= "xfield: datetime\n"; -$HTMcontent .= "yfield: load\n"; -$HTMcontent .= "linedetails: color=blue width=.5\n"; -$HTMcontent .= "legendlabel: load\n"; -$HTMcontent .= "maxinpoints: $rows_to_max\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc curvefit\n"; -$HTMcontent .= "xfield: datetime\n"; -$HTMcontent .= "yfield: processes\n"; -$HTMcontent .= "linedetails: color=red width=.5\n"; -$HTMcontent .= "legendlabel: processes\n"; -$HTMcontent .= "maxinpoints: $rows_to_max\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc curvefit\n"; -$HTMcontent .= "xfield: datetime\n"; -$HTMcontent .= "yfield: channels\n"; -$HTMcontent .= "linedetails: color=green width=.5\n"; -$HTMcontent .= "legendlabel: channels\n"; -$HTMcontent .= "maxinpoints: $rows_to_max\n"; -$HTMcontent .= "\n"; -$HTMcontent .= "#proc legend\n"; -$HTMcontent .= "location: max-1 max\n"; -$HTMcontent .= "seglen: 0.2\n"; -$HTMcontent .= "\n"; - -fwrite ($HTMfp, "$HTMcontent"); -fclose($HTMfp); - - -passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile"); - -sleep(1); - -echo ""; -echo "\n"; -echo "\n"; - - -echo ""; - -} if ($db_source == 'S') { @@ -484,10 +507,9 @@ $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id=' if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); - ?>
- \ No newline at end of file +