Project

General

Profile

« Previous | Next » 

Revision b0bd79a4

Added by Stephen Beaver almost 10 years ago

View differences:

src/usr/local/www/status_rrd_graph_img.php
2 2
/* $Id$ */
3 3
/*
4 4
	status_rrd_graph_img.php
5
	Part of pfSense
6
	Copyright (C) 2009 Seth Mos <seth.mos@dds.nl>
7
	Copyright (C) 2013-2015 Electric Sheep Fencing, LP
8
	All rights reserved.
9

  
10
	Redistribution and use in source and binary forms, with or without
11
	modification, are permitted provided that the following conditions are met:
12

  
13
	1. Redistributions of source code must retain the above copyright notice,
14
	   this list of conditions and the following disclaimer.
15

  
16
	2. Redistributions in binary form must reproduce the above copyright
17
	   notice, this list of conditions and the following disclaimer in the
18
	   documentation and/or other materials provided with the distribution.
19

  
20
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
21
	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22
	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23
	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
24
	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
	POSSIBILITY OF SUCH DAMAGE.
30 5
*/
6
/* ====================================================================
7
 *	Copyright (c)  2004-2015  Electric Sheep Fencing, LLC. All rights reserved.
8
 *	Copyright (c)  2004, 2005 Scott Ullrich
9
 *	Copyright (c)  2009 Seth Mos <seth.mos@dds.nl>
10
 *
11
 *	Redistribution and use in source and binary forms, with or without modification,
12
 *	are permitted provided that the following conditions are met:
13
 *
14
 *	1. Redistributions of source code must retain the above copyright notice,
15
 *		this list of conditions and the following disclaimer.
16
 *
17
 *	2. Redistributions in binary form must reproduce the above copyright
18
 *		notice, this list of conditions and the following disclaimer in
19
 *		the documentation and/or other materials provided with the
20
 *		distribution.
21
 *
22
 *	3. All advertising materials mentioning features or use of this software
23
 *		must display the following acknowledgment:
24
 *		"This product includes software developed by the pfSense Project
25
 *		 for use in the pfSense software distribution. (http://www.pfsense.org/).
26
 *
27
 *	4. The names "pfSense" and "pfSense Project" must not be used to
28
 *		 endorse or promote products derived from this software without
29
 *		 prior written permission. For written permission, please contact
30
 *		 coreteam@pfsense.org.
31
 *
32
 *	5. Products derived from this software may not be called "pfSense"
33
 *		nor may "pfSense" appear in their names without prior written
34
 *		permission of the Electric Sheep Fencing, LLC.
35
 *
36
 *	6. Redistributions of any form whatsoever must retain the following
37
 *		acknowledgment:
38
 *
39
 *	"This product includes software developed by the pfSense Project
40
 *	for use in the pfSense software distribution (http://www.pfsense.org/).
41
 *
42
 *	THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY
43
 *	EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
44
 *	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
45
 *	PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE pfSense PROJECT OR
46
 *	ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
47
 *	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
48
 *	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
49
 *	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
50
 *	HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
51
 *	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
52
 *	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
53
 *	OF THE POSSIBILITY OF SUCH DAMAGE.
54
 *
55
 *	====================================================================
56
 *
57
 */
31 58
/*
32
	pfSense_BUILDER_BINARIES:	/bin/rm	/usr/local/bin/rrdtool
33
	pfSense_MODULE:	system
59
	pfSense_BUILDER_BINARIES:	/bin/rm /usr/local/bin/rrdtool
60
	pfSense_MODULE: system
34 61
*/
35 62

  
36 63
require_once("globals.inc");
......
202 229

  
203 230
/* Set default colors explicitly, the theme can then override them below.
204 231
   This prevents missing colors in themes from crashing the graphs. */
205
/* Traffic Outbound		Out-P-4,  Out-B-4,  Out-P-6,  Out-B-6 */
232
/* Traffic Outbound		Out-P-4,  Out-B-4,	Out-P-6,  Out-B-6 */
206 233
$colortrafficup		= array('666666', 'CCCCCC', '2217AA', '625AE7');
207 234

  
208
/* Traffic Inbound		In-P-4,   In-B-4,    In-P-6,  In-B-6 */
235
/* Traffic Inbound		In-P-4,	  In-B-4,	 In-P-6,  In-B-6 */
209 236
$colortrafficdown	= array('990000', 'CC0000', 'FFC875', 'FF9900');
210 237

  
211
/* Packets Outbound		Out-P-4,  Out-B-4,  Out-P-6,  Out-B-6 */
238
/* Packets Outbound		Out-P-4,  Out-B-4,	Out-P-6,  Out-B-6 */
212 239
$colorpacketsup		= array('666666', 'CCCCCC', '2217AA', '625AE7');
213 240

  
214
/* Packets Inbound		In-P-4,   In-B-4,    In-P-6,  In-B-6 */
241
/* Packets Inbound		In-P-4,	  In-B-4,	 In-P-6,  In-B-6 */
215 242
$colorpacketsdown	= array('990000', 'CC0000', 'FFC875', 'FF9900');
216 243

  
217
/* 95th Percentile Lines	Out,      In */
244
/* 95th Percentile Lines	Out,	  In */
218 245
$colortraffic95		= array('660000', 'FF0000');
219 246

  
220
/* State Table			pfrate,  pfstates, pfnat,  srcip,   dstip */
247
/* State Table			pfrate,	 pfstates, pfnat,  srcip,	dstip */
221 248
$colorstates		= array('00AA00', '990000', '0000FF', '000000', 'DD9B00');
222 249

  
223
/* Processor Usage		user,    nice,    system,  int,     processes */
250
/* Processor Usage		user,	 nice,	  system,  int,		processes */
224 251
$colorprocessor		= array('00AA00', '990000', '0000FF', 'DD9B00', '000000');
225 252

  
226
/* Memory Usage			active,  inact,   free,    cache,   wire */
253
/* Memory Usage			active,	 inact,	  free,	   cache,	wire */
227 254
$colormemory		= array('00AA00', '990000', '0000FF', '666666', 'DD9B00');
228 255

  
229
/* MBUF Usage			current, cache,   total,   max */
256
/* MBUF Usage			current, cache,	  total,   max */
230 257
$colormbuf		= array('0080FF', '00E344', 'FF0000', '000000');
231 258

  
232
/* Traffic Shaper Queues	q1,      q2,      q3,      q4,      q5,      q6,      q7,      q8,      q9 */
259
/* Traffic Shaper Queues	q1,		 q2,	  q3,	   q4,		q5,		 q6,	  q7,	   q8,		q9 */
233 260
$colorqueuesup		= array('000000', '7B0000', '0080FF', '00E344', 'FF0000', '2217AA', 'FFC875', 'FF9900', 'CC0000');
234 261
$colorqueuesdown	= array('000000', '7B7B7B', '999999', 'BBBBBB', 'CCCCCC', 'D9D9D9', 'EEEEEE', 'FFFFFF', 'CCCCCC');
235 262

  
236 263
$colorqueuesdropup	= array('000000', '7B0000', '0080FF', '00E344', 'FF0000', '2217AA', 'FFC875', 'FF9900', 'CC0000');
237 264
$colorqueuesdropdown	= array('000000', '7B7B7B', '999999', 'BBBBBB', 'CCCCCC', 'D9D9D9', 'EEEEEE', 'FFFFFF', 'CCCCCC');
238 265

  
239
/* Quality Graph Delay	>420,    180-420, 60-180,  20-60,   <20,     Delay Avg */
266
/* Quality Graph Delay	>420,	 180-420, 60-180,  20-60,	<20,	 Delay Avg */
240 267
$colorqualityrtt	= array('990000', 'a83c3c', 'b36666', 'bd9090', 'cccccc', '000000');
241 268
/* Quality Graph Loss */
242 269
$colorqualityloss	= 'ee0000';
243 270

  
244
/* Wireless Graph		SNR,     Rate,    Channel*/
245
/* Cellular Graph		RSSI,     */
271
/* Wireless Graph		SNR,	 Rate,	  Channel*/
272
/* Cellular Graph		RSSI,	  */
246 273
$colorwireless		= array('333333', 'a83c3c', '999999');
247 274

  
248 275
/* SPAMD Times			min area, avg area, max area, Time line */
249 276
$colorspamdtime		= array('DDDDFF', 'AAAAFF', 'DDDDFF', '000066');
250
/* SPAMD Connections		max area,   min area,   min line,   max line,   avg line */
277
/* SPAMD Connections		max area,	min area,	min line,	max line,	avg line */
251 278
$colorspamdconn		= array('AA00BB', 'FFFFFF', '660088', 'FFFF88', '006600');
252 279

  
253 280
/* OpenVPN Users		Online Users */
254 281
$colorvpnusers		= array('990000');
255 282

  
256
/* NTPD stats			offset, clk jit,   sys jit,   wander */
283
/* NTPD stats			offset, clk jit,   sys jit,	  wander */
257 284
$colorntpd		= array('0080FF', '00E344', 'FF0000', '000000');
258 285

  
259 286
/* Captive Portal Total Users	Total Users */
260 287
/* Captive Portal Concurrent	Concurrent Users */
261 288
$colorcaptiveportalusers = array('990000');
262 289

  
263
/* select theme colors if the inclusion file exists */
290
/* select theme colors if the include file exists
291
   Note: Themes are no longer used in pfSense 2.3.x so don't try this any more
292

  
264 293
$rrdcolors = "{$g['www_path']}/themes/{$g['theme']}/rrdcolors.inc.php";
265 294
if (file_exists($rrdcolors)) {
266 295
	include($rrdcolors);
267 296
} else {
268 297
	log_error(sprintf(gettext("rrdcolors.inc.php for theme %s does not exist, using defaults!"), $g['theme']));
269 298
}
299
*/
270 300

  
271 301
switch ($curstyle) {
272 302
	case "absolute":
......
426 456
	$graphcmd .= "HRULE:\"$curif-in_bits_95#{$colortraffic95[1]}:$curif-in (95%)\" ";
427 457
	$graphcmd .= "HRULE:\"$curif-out_bits_95#{$colortraffic95[0]}:$curif-out (95%)\" ";
428 458
	$graphcmd .= "COMMENT:\"\\n\" ";
429
	$graphcmd .= "COMMENT:\"\t\t\t\t maximum\t    average\t\t current\t    period\t   95th percentile\\n\" ";
459
	$graphcmd .= "COMMENT:\"\t\t\t\t maximum\t	  average\t\t current\t	   period\t	  95th percentile\\n\" ";
430 460
	$graphcmd .= "COMMENT:\"IPv4 in-pass\t\" ";
431 461
	$graphcmd .= "GPRINT:\"$curif-in_bits_pass:MAX:%7.2lf %sb/s\" ";
432 462
	$graphcmd .= "GPRINT:\"$curif-in_bits_pass:AVERAGE:%7.2lf %Sb/s\" ";
......
581 611
	$graphcmd .= "{$AREA}:\"tput-out_bits_pass_neg#{$colortrafficup[0]}:out-pass \" ";
582 612

  
583 613
	$graphcmd .= "COMMENT:\"\\n\" ";
584
	$graphcmd .= "COMMENT:\"\t\t  maximum       average       current        period\\n\" ";
614
	$graphcmd .= "COMMENT:\"\t\t  maximum		average		  current		 period\\n\" ";
585 615
	$graphcmd .= "COMMENT:\"in-pass\t\" ";
586 616
	$graphcmd .= "GPRINT:\"tput-in_bits_pass:MAX:%7.2lf %sb/s\" ";
587 617
	$graphcmd .= "GPRINT:\"tput-in_bits_pass:AVERAGE:%7.2lf %Sb/s\" ";
......
680 710
	$graphcmd .= "$AREA:\"$curif-out6_pps_pass_neg#{$colorpacketsup[2]}:$curif-out6-pass:STACK\" ";
681 711

  
682 712
	$graphcmd .= "COMMENT:\"\\n\" ";
683
	$graphcmd .= "COMMENT:\"\t\t  maximum\t\t average\t     current\t    period\\n\" ";
713
	$graphcmd .= "COMMENT:\"\t\t  maximum\t\t average\t		current\t	 period\\n\" ";
684 714
	$graphcmd .= "COMMENT:\"in-pass\t\" ";
685 715
	$graphcmd .= "GPRINT:\"$curif-in_pps_pass:MAX:%7.2lf %s pps\" ";
686 716
	$graphcmd .= "GPRINT:\"$curif-in_pps_pass:AVERAGE:%7.2lf %S pps\" ";
......
747 777
	$graphcmd .= "LINE2:\"$curif-rate#{$colorwireless[1]}:$curif-rate\" ";
748 778
	$graphcmd .= "LINE2:\"$curif-channel#{$colorwireless[2]}:$curif-channel\" ";
749 779
	$graphcmd .= "COMMENT:\"\\n\" ";
750
	$graphcmd .= "COMMENT:\"\t\t   maximum\t\t average\t     current\\n\" ";
780
	$graphcmd .= "COMMENT:\"\t\t   maximum\t\t average\t	 current\\n\" ";
751 781
	$graphcmd .= "COMMENT:\"SNR\t\t\" ";
752 782
	$graphcmd .= "GPRINT:\"$curif-snr:MAX:%7.2lf dBi  \" ";
753 783
	$graphcmd .= "GPRINT:\"$curif-snr:AVERAGE:%7.2lf dBi  \" ";
......
759 789
	$graphcmd .= "GPRINT:\"$curif-rate:LAST:%7.2lf Mb\" ";
760 790
	$graphcmd .= "COMMENT:\"\\n\" ";
761 791
	$graphcmd .= "COMMENT:\"Channel\t\" ";
762
	$graphcmd .= "GPRINT:\"$curif-channel:MAX:%7.2lf      \" ";
763
	$graphcmd .= "GPRINT:\"$curif-channel:AVERAGE:%7.2lf      \" ";
792
	$graphcmd .= "GPRINT:\"$curif-channel:MAX:%7.2lf	  \" ";
793
	$graphcmd .= "GPRINT:\"$curif-channel:AVERAGE:%7.2lf	  \" ";
764 794
	$graphcmd .= "GPRINT:\"$curif-channel:LAST:%7.2lf\" ";
765 795
	$graphcmd .= "COMMENT:\"\\n\" ";
766 796
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
......
775 805
	$graphcmd .= "DEF:\"$curif-users=$rrddbpath$curdatabase:users:AVERAGE:step=$step\" ";
776 806
	$graphcmd .= "LINE2:\"$curif-users#{$colorvpnusers[0]}:$curif-users\" ";
777 807
	$graphcmd .= "COMMENT:\"\\n\" ";
778
	$graphcmd .= "COMMENT:\"\t\t\t    maximum\t\t average\t     current\\n\" ";
808
	$graphcmd .= "COMMENT:\"\t\t\t	  maximum\t\t average\t		current\\n\" ";
779 809
	$graphcmd .= "COMMENT:\"Users Online\t\" ";
780
	$graphcmd .= "GPRINT:\"$curif-users:MAX:%7.2lf     \" ";
781
	$graphcmd .= "GPRINT:\"$curif-users:AVERAGE:%7.2lf      \" ";
810
	$graphcmd .= "GPRINT:\"$curif-users:MAX:%7.2lf	   \" ";
811
	$graphcmd .= "GPRINT:\"$curif-users:AVERAGE:%7.2lf		\" ";
782 812
	$graphcmd .= "GPRINT:\"$curif-users:LAST:%7.2lf \" ";
783 813
	$graphcmd .= "COMMENT:\"\\n\" ";
784 814
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
......
802 832
	$graphcmd .= "LINE1:\"$curif-srcip#{$colorstates[3]}:$curif-srcip\" ";
803 833
	$graphcmd .= "LINE1:\"$curif-dstip#{$colorstates[4]}:$curif-dstip\" ";
804 834
	$graphcmd .= "COMMENT:\"\\n\" ";
805
	$graphcmd .= "COMMENT:\"\t\t      minimum        average        maximum        current         period\\n\" ";
835
	$graphcmd .= "COMMENT:\"\t\t	  minimum		 average		maximum		   current		   period\\n\" ";
806 836
	$graphcmd .= "COMMENT:\"state changes\" ";
807 837
	$graphcmd .= "GPRINT:\"$curif-pfrate:MIN:%7.2lf %s cps\" ";
808 838
	$graphcmd .= "GPRINT:\"$curif-pfrate:AVERAGE:%7.2lf %s cps\" ";
......
811 841
	$graphcmd .= "GPRINT:\"$curif-pfrate_t:AVERAGE:%7.2lf %s chg\" ";
812 842
	$graphcmd .= "COMMENT:\"\\n\" ";
813 843
	$graphcmd .= "COMMENT:\"filter states\" ";
814
	$graphcmd .= "GPRINT:\"$curif-pfstates:MIN:%7.2lf %s    \" ";
815
	$graphcmd .= "GPRINT:\"$curif-pfstates:AVERAGE:%7.2lf %s    \" ";
816
	$graphcmd .= "GPRINT:\"$curif-pfstates:MAX:%7.2lf %s    \" ";
817
	$graphcmd .= "GPRINT:\"$curif-pfstates:LAST:%7.2lf %s    \" ";
844
	$graphcmd .= "GPRINT:\"$curif-pfstates:MIN:%7.2lf %s	\" ";
845
	$graphcmd .= "GPRINT:\"$curif-pfstates:AVERAGE:%7.2lf %s	\" ";
846
	$graphcmd .= "GPRINT:\"$curif-pfstates:MAX:%7.2lf %s	\" ";
847
	$graphcmd .= "GPRINT:\"$curif-pfstates:LAST:%7.2lf %s	 \" ";
818 848
	$graphcmd .= "COMMENT:\"\\n\" ";
819
	$graphcmd .= "COMMENT:\"nat states   \" ";
820
	$graphcmd .= "GPRINT:\"$curif-pfnat:MIN:%7.2lf %s    \" ";
821
	$graphcmd .= "GPRINT:\"$curif-pfnat:AVERAGE:%7.2lf %s    \" ";
822
	$graphcmd .= "GPRINT:\"$curif-pfnat:MAX:%7.2lf %s    \" ";
823
	$graphcmd .= "GPRINT:\"$curif-pfnat:LAST:%7.2lf %s    \" ";
849
	$graphcmd .= "COMMENT:\"nat states	 \" ";
850
	$graphcmd .= "GPRINT:\"$curif-pfnat:MIN:%7.2lf %s	 \" ";
851
	$graphcmd .= "GPRINT:\"$curif-pfnat:AVERAGE:%7.2lf %s	 \" ";
852
	$graphcmd .= "GPRINT:\"$curif-pfnat:MAX:%7.2lf %s	 \" ";
853
	$graphcmd .= "GPRINT:\"$curif-pfnat:LAST:%7.2lf %s	  \" ";
824 854
	$graphcmd .= "COMMENT:\"\\n\" ";
825 855
	$graphcmd .= "COMMENT:\"Source addr. \" ";
826
	$graphcmd .= "GPRINT:\"$curif-srcip:MIN:%7.2lf %s    \" ";
827
	$graphcmd .= "GPRINT:\"$curif-srcip:AVERAGE:%7.2lf %s    \" ";
828
	$graphcmd .= "GPRINT:\"$curif-srcip:MAX:%7.2lf %s    \" ";
829
	$graphcmd .= "GPRINT:\"$curif-srcip:LAST:%7.2lf %s    \" ";
856
	$graphcmd .= "GPRINT:\"$curif-srcip:MIN:%7.2lf %s	 \" ";
857
	$graphcmd .= "GPRINT:\"$curif-srcip:AVERAGE:%7.2lf %s	 \" ";
858
	$graphcmd .= "GPRINT:\"$curif-srcip:MAX:%7.2lf %s	 \" ";
859
	$graphcmd .= "GPRINT:\"$curif-srcip:LAST:%7.2lf %s	  \" ";
830 860
	$graphcmd .= "COMMENT:\"\\n\" ";
831
	$graphcmd .= "COMMENT:\"Dest. addr.  \" ";
832
	$graphcmd .= "GPRINT:\"$curif-dstip:MIN:%7.2lf %s    \" ";
833
	$graphcmd .= "GPRINT:\"$curif-dstip:AVERAGE:%7.2lf %s    \" ";
834
	$graphcmd .= "GPRINT:\"$curif-dstip:MAX:%7.2lf %s    \" ";
835
	$graphcmd .= "GPRINT:\"$curif-dstip:LAST:%7.2lf %s    \" ";
861
	$graphcmd .= "COMMENT:\"Dest. addr.	 \" ";
862
	$graphcmd .= "GPRINT:\"$curif-dstip:MIN:%7.2lf %s	 \" ";
863
	$graphcmd .= "GPRINT:\"$curif-dstip:AVERAGE:%7.2lf %s	 \" ";
864
	$graphcmd .= "GPRINT:\"$curif-dstip:MAX:%7.2lf %s	 \" ";
865
	$graphcmd .= "GPRINT:\"$curif-dstip:LAST:%7.2lf %s	  \" ";
836 866
	$graphcmd .= "COMMENT:\"\\n\" ";
837 867
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
838 868
} elseif ((strstr($curdatabase, "-processor.rrd")) && (file_exists("$rrddbpath$curdatabase"))) {
......
854 884
	$graphcmd .= "AREA:\"interrupt#{$colorprocessor[3]}:interrupt:STACK\" ";
855 885
	$graphcmd .= "LINE2:\"processes#{$colorprocessor[4]}:processes\" ";
856 886
	$graphcmd .= "COMMENT:\"\\n\" ";
857
	$graphcmd .= "COMMENT:\"\t\t      minimum        average        maximum        current\\n\" ";
858
	$graphcmd .= "COMMENT:\"User util.   \" ";
859
	$graphcmd .= "GPRINT:\"user:MIN:%7.2lf %s    \" ";
860
	$graphcmd .= "GPRINT:\"user:AVERAGE:%7.2lf %s    \" ";
861
	$graphcmd .= "GPRINT:\"user:MAX:%7.2lf %s    \" ";
862
	$graphcmd .= "GPRINT:\"user:LAST:%7.2lf %S    \" ";
887
	$graphcmd .= "COMMENT:\"\t\t	  minimum		 average		maximum		   current\\n\" ";
888
	$graphcmd .= "COMMENT:\"User util.	 \" ";
889
	$graphcmd .= "GPRINT:\"user:MIN:%7.2lf %s	 \" ";
890
	$graphcmd .= "GPRINT:\"user:AVERAGE:%7.2lf %s	 \" ";
891
	$graphcmd .= "GPRINT:\"user:MAX:%7.2lf %s	 \" ";
892
	$graphcmd .= "GPRINT:\"user:LAST:%7.2lf %S	  \" ";
863 893
	$graphcmd .= "COMMENT:\"\\n\" ";
864
	$graphcmd .= "COMMENT:\"Nice util.   \" ";
865
	$graphcmd .= "GPRINT:\"nice:MIN:%7.2lf %s    \" ";
866
	$graphcmd .= "GPRINT:\"nice:AVERAGE:%7.2lf %s    \" ";
867
	$graphcmd .= "GPRINT:\"nice:MAX:%7.2lf %s    \" ";
868
	$graphcmd .= "GPRINT:\"nice:LAST:%7.2lf %s    \" ";
894
	$graphcmd .= "COMMENT:\"Nice util.	 \" ";
895
	$graphcmd .= "GPRINT:\"nice:MIN:%7.2lf %s	 \" ";
896
	$graphcmd .= "GPRINT:\"nice:AVERAGE:%7.2lf %s	 \" ";
897
	$graphcmd .= "GPRINT:\"nice:MAX:%7.2lf %s	 \" ";
898
	$graphcmd .= "GPRINT:\"nice:LAST:%7.2lf %s	  \" ";
869 899
	$graphcmd .= "COMMENT:\"\\n\" ";
870 900
	$graphcmd .= "COMMENT:\"System util. \" ";
871
	$graphcmd .= "GPRINT:\"system:MIN:%7.2lf %s    \" ";
872
	$graphcmd .= "GPRINT:\"system:AVERAGE:%7.2lf %s    \" ";
873
	$graphcmd .= "GPRINT:\"system:MAX:%7.2lf %s    \" ";
874
	$graphcmd .= "GPRINT:\"system:LAST:%7.2lf %s    \" ";
875
	$graphcmd .= "COMMENT:\"\\n\" ";
876
	$graphcmd .= "COMMENT:\"Interrupt    \" ";
877
	$graphcmd .= "GPRINT:\"interrupt:MIN:%7.2lf %s    \" ";
878
	$graphcmd .= "GPRINT:\"interrupt:AVERAGE:%7.2lf %s    \" ";
879
	$graphcmd .= "GPRINT:\"interrupt:MAX:%7.2lf %s    \" ";
880
	$graphcmd .= "GPRINT:\"interrupt:LAST:%7.2lf %s    \" ";
881
	$graphcmd .= "COMMENT:\"\\n\" ";
882
	$graphcmd .= "COMMENT:\"Processes    \" ";
883
	$graphcmd .= "GPRINT:\"processes:MIN:%7.2lf %s    \" ";
884
	$graphcmd .= "GPRINT:\"processes:AVERAGE:%7.2lf %s    \" ";
885
	$graphcmd .= "GPRINT:\"processes:MAX:%7.2lf %s    \" ";
886
	$graphcmd .= "GPRINT:\"processes:LAST:%7.2lf %s    \" ";
901
	$graphcmd .= "GPRINT:\"system:MIN:%7.2lf %s	   \" ";
902
	$graphcmd .= "GPRINT:\"system:AVERAGE:%7.2lf %s	   \" ";
903
	$graphcmd .= "GPRINT:\"system:MAX:%7.2lf %s	   \" ";
904
	$graphcmd .= "GPRINT:\"system:LAST:%7.2lf %s	\" ";
905
	$graphcmd .= "COMMENT:\"\\n\" ";
906
	$graphcmd .= "COMMENT:\"Interrupt	 \" ";
907
	$graphcmd .= "GPRINT:\"interrupt:MIN:%7.2lf %s	  \" ";
908
	$graphcmd .= "GPRINT:\"interrupt:AVERAGE:%7.2lf %s	  \" ";
909
	$graphcmd .= "GPRINT:\"interrupt:MAX:%7.2lf %s	  \" ";
910
	$graphcmd .= "GPRINT:\"interrupt:LAST:%7.2lf %s	   \" ";
911
	$graphcmd .= "COMMENT:\"\\n\" ";
912
	$graphcmd .= "COMMENT:\"Processes	 \" ";
913
	$graphcmd .= "GPRINT:\"processes:MIN:%7.2lf %s	  \" ";
914
	$graphcmd .= "GPRINT:\"processes:AVERAGE:%7.2lf %s	  \" ";
915
	$graphcmd .= "GPRINT:\"processes:MAX:%7.2lf %s	  \" ";
916
	$graphcmd .= "GPRINT:\"processes:LAST:%7.2lf %s	   \" ";
887 917
	$graphcmd .= "COMMENT:\"\\n\" ";
888 918
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
889 919
} elseif ((strstr($curdatabase, "-memory.rrd")) && (file_exists("$rrddbpath$curdatabase"))) {
......
905 935
	$graphcmd .= "LINE2:\"cache#{$colormemory[3]}:cache\" ";
906 936
	$graphcmd .= "LINE2:\"wire#{$colormemory[4]}:wire\" ";
907 937
	$graphcmd .= "COMMENT:\"\\n\" ";
908
	$graphcmd .= "COMMENT:\"\t\t      minimum        average        maximum        current\\n\" ";
909
	$graphcmd .= "COMMENT:\"Active.      \" ";
910
	$graphcmd .= "GPRINT:\"active:MIN:%7.2lf %s    \" ";
911
	$graphcmd .= "GPRINT:\"active:AVERAGE:%7.2lf %s    \" ";
912
	$graphcmd .= "GPRINT:\"active:MAX:%7.2lf %s    \" ";
913
	$graphcmd .= "GPRINT:\"active:LAST:%7.2lf %S    \" ";
914
	$graphcmd .= "COMMENT:\"\\n\" ";
915
	$graphcmd .= "COMMENT:\"Inactive.    \" ";
916
	$graphcmd .= "GPRINT:\"inactive:MIN:%7.2lf %s    \" ";
917
	$graphcmd .= "GPRINT:\"inactive:AVERAGE:%7.2lf %s    \" ";
918
	$graphcmd .= "GPRINT:\"inactive:MAX:%7.2lf %s    \" ";
919
	$graphcmd .= "GPRINT:\"inactive:LAST:%7.2lf %S    \" ";
920
	$graphcmd .= "COMMENT:\"\\n\" ";
921
	$graphcmd .= "COMMENT:\"Free.        \" ";
922
	$graphcmd .= "GPRINT:\"free:MIN:%7.2lf %s    \" ";
923
	$graphcmd .= "GPRINT:\"free:AVERAGE:%7.2lf %s    \" ";
924
	$graphcmd .= "GPRINT:\"free:MAX:%7.2lf %s    \" ";
925
	$graphcmd .= "GPRINT:\"free:LAST:%7.2lf %S    \" ";
926
	$graphcmd .= "COMMENT:\"\\n\" ";
927
	$graphcmd .= "COMMENT:\"Cached.      \" ";
928
	$graphcmd .= "GPRINT:\"cache:MIN:%7.2lf %s    \" ";
929
	$graphcmd .= "GPRINT:\"cache:AVERAGE:%7.2lf %s    \" ";
930
	$graphcmd .= "GPRINT:\"cache:MAX:%7.2lf %s    \" ";
931
	$graphcmd .= "GPRINT:\"cache:LAST:%7.2lf %S    \" ";
932
	$graphcmd .= "COMMENT:\"\\n\" ";
933
	$graphcmd .= "COMMENT:\"Wired.       \" ";
934
	$graphcmd .= "GPRINT:\"wire:MIN:%7.2lf %s    \" ";
935
	$graphcmd .= "GPRINT:\"wire:AVERAGE:%7.2lf %s    \" ";
936
	$graphcmd .= "GPRINT:\"wire:MAX:%7.2lf %s    \" ";
937
	$graphcmd .= "GPRINT:\"wire:LAST:%7.2lf %S    \" ";
938
	$graphcmd .= "COMMENT:\"\t\t	  minimum		 average		maximum		   current\\n\" ";
939
	$graphcmd .= "COMMENT:\"Active.		 \" ";
940
	$graphcmd .= "GPRINT:\"active:MIN:%7.2lf %s	   \" ";
941
	$graphcmd .= "GPRINT:\"active:AVERAGE:%7.2lf %s	   \" ";
942
	$graphcmd .= "GPRINT:\"active:MAX:%7.2lf %s	   \" ";
943
	$graphcmd .= "GPRINT:\"active:LAST:%7.2lf %S	\" ";
944
	$graphcmd .= "COMMENT:\"\\n\" ";
945
	$graphcmd .= "COMMENT:\"Inactive.	 \" ";
946
	$graphcmd .= "GPRINT:\"inactive:MIN:%7.2lf %s	 \" ";
947
	$graphcmd .= "GPRINT:\"inactive:AVERAGE:%7.2lf %s	 \" ";
948
	$graphcmd .= "GPRINT:\"inactive:MAX:%7.2lf %s	 \" ";
949
	$graphcmd .= "GPRINT:\"inactive:LAST:%7.2lf %S	  \" ";
950
	$graphcmd .= "COMMENT:\"\\n\" ";
951
	$graphcmd .= "COMMENT:\"Free.		 \" ";
952
	$graphcmd .= "GPRINT:\"free:MIN:%7.2lf %s	 \" ";
953
	$graphcmd .= "GPRINT:\"free:AVERAGE:%7.2lf %s	 \" ";
954
	$graphcmd .= "GPRINT:\"free:MAX:%7.2lf %s	 \" ";
955
	$graphcmd .= "GPRINT:\"free:LAST:%7.2lf %S	  \" ";
956
	$graphcmd .= "COMMENT:\"\\n\" ";
957
	$graphcmd .= "COMMENT:\"Cached.		 \" ";
958
	$graphcmd .= "GPRINT:\"cache:MIN:%7.2lf %s	  \" ";
959
	$graphcmd .= "GPRINT:\"cache:AVERAGE:%7.2lf %s	  \" ";
960
	$graphcmd .= "GPRINT:\"cache:MAX:%7.2lf %s	  \" ";
961
	$graphcmd .= "GPRINT:\"cache:LAST:%7.2lf %S	   \" ";
962
	$graphcmd .= "COMMENT:\"\\n\" ";
963
	$graphcmd .= "COMMENT:\"Wired.		 \" ";
964
	$graphcmd .= "GPRINT:\"wire:MIN:%7.2lf %s	 \" ";
965
	$graphcmd .= "GPRINT:\"wire:AVERAGE:%7.2lf %s	 \" ";
966
	$graphcmd .= "GPRINT:\"wire:MAX:%7.2lf %s	 \" ";
967
	$graphcmd .= "GPRINT:\"wire:LAST:%7.2lf %S	  \" ";
938 968
	$graphcmd .= "COMMENT:\"\\n\" ";
939 969
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
940 970
} elseif ((strstr($curdatabase, "-mbuf.rrd")) && (file_exists("$rrddbpath$curdatabase"))) {
......
954 984
	$graphcmd .= "LINE2:\"total#{$colormbuf[2]}:total\" ";
955 985
	$graphcmd .= "LINE2:\"max#{$colormbuf[3]}:max\" ";
956 986
	$graphcmd .= "COMMENT:\"\\n\" ";
957
	$graphcmd .= "COMMENT:\"\t\t      minimum        average        maximum        current\\n\" ";
958
	$graphcmd .= "COMMENT:\"Current.      \" ";
959
	$graphcmd .= "GPRINT:\"current:MIN:%7.2lf %s    \" ";
960
	$graphcmd .= "GPRINT:\"current:AVERAGE:%7.2lf %s    \" ";
961
	$graphcmd .= "GPRINT:\"current:MAX:%7.2lf %s    \" ";
962
	$graphcmd .= "GPRINT:\"current:LAST:%7.2lf %S    \" ";
963
	$graphcmd .= "COMMENT:\"\\n\" ";
964
	$graphcmd .= "COMMENT:\"Cache.        \" ";
965
	$graphcmd .= "GPRINT:\"cache:MIN:%7.2lf %s    \" ";
966
	$graphcmd .= "GPRINT:\"cache:AVERAGE:%7.2lf %s    \" ";
967
	$graphcmd .= "GPRINT:\"cache:MAX:%7.2lf %s    \" ";
968
	$graphcmd .= "GPRINT:\"cache:LAST:%7.2lf %S    \" ";
969
	$graphcmd .= "COMMENT:\"\\n\" ";
970
	$graphcmd .= "COMMENT:\"Total.        \" ";
971
	$graphcmd .= "GPRINT:\"total:MIN:%7.2lf %s    \" ";
972
	$graphcmd .= "GPRINT:\"total:AVERAGE:%7.2lf %s    \" ";
973
	$graphcmd .= "GPRINT:\"total:MAX:%7.2lf %s    \" ";
974
	$graphcmd .= "GPRINT:\"total:LAST:%7.2lf %S    \" ";
975
	$graphcmd .= "COMMENT:\"\\n\" ";
976
	$graphcmd .= "COMMENT:\"Max.          \" ";
977
	$graphcmd .= "GPRINT:\"max:MIN:%7.2lf %s    \" ";
978
	$graphcmd .= "GPRINT:\"max:AVERAGE:%7.2lf %s    \" ";
979
	$graphcmd .= "GPRINT:\"max:MAX:%7.2lf %s    \" ";
980
	$graphcmd .= "GPRINT:\"max:LAST:%7.2lf %S    \" ";
987
	$graphcmd .= "COMMENT:\"\t\t	  minimum		 average		maximum		   current\\n\" ";
988
	$graphcmd .= "COMMENT:\"Current.	  \" ";
989
	$graphcmd .= "GPRINT:\"current:MIN:%7.2lf %s	\" ";
990
	$graphcmd .= "GPRINT:\"current:AVERAGE:%7.2lf %s	\" ";
991
	$graphcmd .= "GPRINT:\"current:MAX:%7.2lf %s	\" ";
992
	$graphcmd .= "GPRINT:\"current:LAST:%7.2lf %S	 \" ";
993
	$graphcmd .= "COMMENT:\"\\n\" ";
994
	$graphcmd .= "COMMENT:\"Cache.		  \" ";
995
	$graphcmd .= "GPRINT:\"cache:MIN:%7.2lf %s	  \" ";
996
	$graphcmd .= "GPRINT:\"cache:AVERAGE:%7.2lf %s	  \" ";
997
	$graphcmd .= "GPRINT:\"cache:MAX:%7.2lf %s	  \" ";
998
	$graphcmd .= "GPRINT:\"cache:LAST:%7.2lf %S	   \" ";
999
	$graphcmd .= "COMMENT:\"\\n\" ";
1000
	$graphcmd .= "COMMENT:\"Total.		  \" ";
1001
	$graphcmd .= "GPRINT:\"total:MIN:%7.2lf %s	  \" ";
1002
	$graphcmd .= "GPRINT:\"total:AVERAGE:%7.2lf %s	  \" ";
1003
	$graphcmd .= "GPRINT:\"total:MAX:%7.2lf %s	  \" ";
1004
	$graphcmd .= "GPRINT:\"total:LAST:%7.2lf %S	   \" ";
1005
	$graphcmd .= "COMMENT:\"\\n\" ";
1006
	$graphcmd .= "COMMENT:\"Max.		  \" ";
1007
	$graphcmd .= "GPRINT:\"max:MIN:%7.2lf %s	\" ";
1008
	$graphcmd .= "GPRINT:\"max:AVERAGE:%7.2lf %s	\" ";
1009
	$graphcmd .= "GPRINT:\"max:MAX:%7.2lf %s	\" ";
1010
	$graphcmd .= "GPRINT:\"max:LAST:%7.2lf %S	 \" ";
981 1011
	$graphcmd .= "COMMENT:\"\\n\" ";
982 1012
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
983 1013
} elseif ((strstr($curdatabase, "-queues.rrd")) && (file_exists("$rrddbpath$curdatabase"))) {
......
1048 1078
} elseif ((strstr($curdatabase, "-quality.rrd")) && (file_exists("$rrddbpath$curdatabase"))) {
1049 1079
	/* make a link quality graphcmd */
1050 1080
	$graphcmd = "$rrdtool graph $rrdtmppath$curdatabase-$curgraph.png \\
1051
		--start $start --end $end --step $step  \\
1081
		--start $start --end $end --step $step	\\
1052 1082
		--title \"" . php_uname('n') . " - {$prettydb} - {$hperiod} - {$havg} average\" \\
1053 1083
		--color SHADEA#eeeeee --color SHADEB#eeeeee \\
1054 1084
		--vertical-label \"ms / %\" \\
......
1064 1094
		\"CDEF:r2=delay,180,MIN\" \\
1065 1095
		\"CDEF:r3=delay,420,MIN\" \\
1066 1096
		COMMENT:\"\t\t\t\t\tDelay\t\t\tPacket loss\\n\" \\
1067
		AREA:delay#$colorqualityrtt[0]:\"> 420      ms\" \\
1097
		AREA:delay#$colorqualityrtt[0]:\"> 420		ms\" \\
1068 1098
		GPRINT:delay:MIN:\"\t\tMin\\:  %7.2lf ms\" \\
1069 1099
		GPRINT:loss:MIN:\"\tMin\\: %3.1lf %%\\n\" \\
1070
		AREA:r3#$colorqualityrtt[1]:\"180-420    ms\" \\
1100
		AREA:r3#$colorqualityrtt[1]:\"180-420	 ms\" \\
1071 1101
		GPRINT:delay:AVERAGE:\"\t\tAvg\\:  %7.2lf ms\" \\
1072 1102
		GPRINT:loss:AVERAGE:\"\tAvg\\: %3.1lf %%\\n\" \\
1073
		AREA:r2#$colorqualityrtt[2]:\"60-180     ms\" \\
1103
		AREA:r2#$colorqualityrtt[2]:\"60-180	 ms\" \\
1074 1104
		GPRINT:delay:MAX:\"\t\tMax\\:  %7.2lf ms\" \\
1075 1105
		GPRINT:loss:MAX:\"\tMax\\: %3.1lf %%\\n\" \\
1076
		AREA:r1#$colorqualityrtt[3]:\"20-60      ms\\n\" \\
1077
		AREA:r0#$colorqualityrtt[4]:\"< 20       ms\" \\
1106
		AREA:r1#$colorqualityrtt[3]:\"20-60		 ms\\n\" \\
1107
		AREA:r0#$colorqualityrtt[4]:\"< 20		 ms\" \\
1078 1108
		GPRINT:delay:LAST:\"\t\tLast\\: %7.2lf ms\" \\
1079 1109
		GPRINT:loss:LAST:\"\tLast\: %3.1lf %%\\n\" \\
1080 1110
		AREA:loss10#$colorqualityloss:\"Packet loss\\n\" \\
......
1128 1158
	$graphcmd .= "DEF:\"$curif-rssi=$rrddbpath$curdatabase:rssi:AVERAGE:step=$step\" ";
1129 1159
	$graphcmd .= "LINE2:\"$curif-rssi#{$colorwireless[0]}:$curif-rssi\" ";
1130 1160
	$graphcmd .= "COMMENT:\"\\n\" ";
1131
	$graphcmd .= "COMMENT:\"\t\t   maximum\t\t average\t     current\\n\" ";
1161
	$graphcmd .= "COMMENT:\"\t\t   maximum\t\t average\t	 current\\n\" ";
1132 1162
	$graphcmd .= "COMMENT:\"RSSI\t\t\" ";
1133
	$graphcmd .= "GPRINT:\"$curif-rssi:MAX:%7.2lf     \" ";
1134
	$graphcmd .= "GPRINT:\"$curif-rssi:AVERAGE:%7.2lf     \" ";
1163
	$graphcmd .= "GPRINT:\"$curif-rssi:MAX:%7.2lf	  \" ";
1164
	$graphcmd .= "GPRINT:\"$curif-rssi:AVERAGE:%7.2lf	  \" ";
1135 1165
	$graphcmd .= "GPRINT:\"$curif-rssi:LAST:%7.2lf \" ";
1136 1166
	$graphcmd .= "COMMENT:\"\\n\" ";
1137 1167
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
......
1167 1197
	$graphcmd .= "DEF:\"$curif-concurrentusers=$rrddbpath$curdatabase:concurrentusers:AVERAGE:step=$step\" ";
1168 1198
	$graphcmd .= "AREA:\"$curif-concurrentusers#{$colorcaptiveportalusers[0]}:Concurrent Users\" ";
1169 1199
	$graphcmd .= "COMMENT:\"\\n\" ";
1170
	$graphcmd .= "COMMENT:\"\t\t\t    current\t\t average\t     maximum\\n\" ";
1200
	$graphcmd .= "COMMENT:\"\t\t\t	  current\t\t average\t		maximum\\n\" ";
1171 1201
	$graphcmd .= "COMMENT:\"Users Online\t\" ";
1172
	$graphcmd .= "GPRINT:\"$curif-concurrentusers:LAST:%8.0lf     \" ";
1173
	$graphcmd .= "GPRINT:\"$curif-concurrentusers:AVERAGE:%8.0lf      \" ";
1202
	$graphcmd .= "GPRINT:\"$curif-concurrentusers:LAST:%8.0lf	  \" ";
1203
	$graphcmd .= "GPRINT:\"$curif-concurrentusers:AVERAGE:%8.0lf	  \" ";
1174 1204
	$graphcmd .= "GPRINT:\"$curif-concurrentusers:MAX:%8.0lf \" ";
1175 1205
	$graphcmd .= "COMMENT:\"\\n\" ";
1176 1206
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
......
1191 1221
	$graphcmd .= "LINE2:\"cjit#{$colorntpd[2]}:cjit\" ";
1192 1222
	$graphcmd .= "LINE2:\"wander#{$colorntpd[3]}:wander\" ";
1193 1223
	$graphcmd .= "COMMENT:\"\\n\" ";
1194
	$graphcmd .= "COMMENT:\"\t\t        minimum        average        maximum        current\\n\" ";
1195
	$graphcmd .= "COMMENT:\"Offset         \" ";
1196
	$graphcmd .= "GPRINT:\"offset:MIN:%7.2lf %s    \" ";
1197
	$graphcmd .= "GPRINT:\"offset:AVERAGE:%7.2lf %s    \" ";
1198
	$graphcmd .= "GPRINT:\"offset:MAX:%7.2lf %s    \" ";
1199
	$graphcmd .= "GPRINT:\"offset:LAST:%7.2lf %S    \" ";
1224
	$graphcmd .= "COMMENT:\"\t\t		minimum		   average		  maximum		 current\\n\" ";
1225
	$graphcmd .= "COMMENT:\"Offset		   \" ";
1226
	$graphcmd .= "GPRINT:\"offset:MIN:%7.2lf %s	   \" ";
1227
	$graphcmd .= "GPRINT:\"offset:AVERAGE:%7.2lf %s	   \" ";
1228
	$graphcmd .= "GPRINT:\"offset:MAX:%7.2lf %s	   \" ";
1229
	$graphcmd .= "GPRINT:\"offset:LAST:%7.2lf %S	\" ";
1200 1230
	$graphcmd .= "COMMENT:\"\\n\" ";
1201 1231
	$graphcmd .= "COMMENT:\"System jitter  \" ";
1202
	$graphcmd .= "GPRINT:\"sjit:MIN:%7.2lf %s    \" ";
1203
	$graphcmd .= "GPRINT:\"sjit:AVERAGE:%7.2lf %s    \" ";
1204
	$graphcmd .= "GPRINT:\"sjit:MAX:%7.2lf %s    \" ";
1205
	$graphcmd .= "GPRINT:\"sjit:LAST:%7.2lf %S    \" ";
1232
	$graphcmd .= "GPRINT:\"sjit:MIN:%7.2lf %s	 \" ";
1233
	$graphcmd .= "GPRINT:\"sjit:AVERAGE:%7.2lf %s	 \" ";
1234
	$graphcmd .= "GPRINT:\"sjit:MAX:%7.2lf %s	 \" ";
1235
	$graphcmd .= "GPRINT:\"sjit:LAST:%7.2lf %S	  \" ";
1206 1236
	$graphcmd .= "COMMENT:\"\\n\" ";
1207 1237
	$graphcmd .= "COMMENT:\"Clock jitter   \" ";
1208
	$graphcmd .= "GPRINT:\"cjit:MIN:%7.2lf %s    \" ";
1209
	$graphcmd .= "GPRINT:\"cjit:AVERAGE:%7.2lf %s    \" ";
1210
	$graphcmd .= "GPRINT:\"cjit:MAX:%7.2lf %s    \" ";
1211
	$graphcmd .= "GPRINT:\"cjit:LAST:%7.2lf %S    \" ";
1238
	$graphcmd .= "GPRINT:\"cjit:MIN:%7.2lf %s	 \" ";
1239
	$graphcmd .= "GPRINT:\"cjit:AVERAGE:%7.2lf %s	 \" ";
1240
	$graphcmd .= "GPRINT:\"cjit:MAX:%7.2lf %s	 \" ";
1241
	$graphcmd .= "GPRINT:\"cjit:LAST:%7.2lf %S	  \" ";
1212 1242
	$graphcmd .= "COMMENT:\"\\n\" ";
1213 1243
	$graphcmd .= "COMMENT:\"Clk freq wander\" ";
1214
	$graphcmd .= "GPRINT:\"wander:MIN:%7.2lf %s    \" ";
1215
	$graphcmd .= "GPRINT:\"wander:AVERAGE:%7.2lf %s    \" ";
1216
	$graphcmd .= "GPRINT:\"wander:MAX:%7.2lf %s    \" ";
1217
	$graphcmd .= "GPRINT:\"wander:LAST:%7.2lf %S    \" ";
1244
	$graphcmd .= "GPRINT:\"wander:MIN:%7.2lf %s	   \" ";
1245
	$graphcmd .= "GPRINT:\"wander:AVERAGE:%7.2lf %s	   \" ";
1246
	$graphcmd .= "GPRINT:\"wander:MAX:%7.2lf %s	   \" ";
1247
	$graphcmd .= "GPRINT:\"wander:LAST:%7.2lf %S	\" ";
1218 1248
	$graphcmd .= "COMMENT:\"\\n\" ";
1219 1249
	$graphcmd .= "COMMENT:\"\t\t\t\t\t\t\t\t\t\t\t\t\t" . strftime('%b %d %H\:%M\:%S %Y') . "\" ";
1220 1250
} else {

Also available in: Unified diff