r3895 - in trunk/varnish-tools/webgui: Varnish templates

petter at projects.linpro.no petter at projects.linpro.no
Fri Mar 6 10:04:38 CET 2009


Author: petter
Date: 2009-03-06 10:04:38 +0100 (Fri, 06 Mar 2009)
New Revision: 3895

Modified:
   trunk/varnish-tools/webgui/Varnish/RequestHandler.pm
   trunk/varnish-tools/webgui/Varnish/Statistics.pm
   trunk/varnish-tools/webgui/Varnish/Util.pm
   trunk/varnish-tools/webgui/templates/view_stats.tmpl
Log:
Added support for graphing the last quarter of an hour. This is now the default graph, as it shows more trends than the last minute. The auto refresh is also adjusted to 15 secs.
The Y value of graphs are now also more meaningfull,showing 20.345M instead of  23456789, whichi should improve readibility a lot.


Modified: trunk/varnish-tools/webgui/Varnish/RequestHandler.pm
===================================================================
--- trunk/varnish-tools/webgui/Varnish/RequestHandler.pm	2009-03-06 08:42:17 UTC (rev 3894)
+++ trunk/varnish-tools/webgui/Varnish/RequestHandler.pm	2009-03-06 09:04:38 UTC (rev 3895)
@@ -452,7 +452,7 @@
 		$tmpl_var{'summary_stats'} = [];
 		$tmpl_var{'raw_stats'} = [];
 		$tmpl_var{'auto_refresh'} = $param{'toggle_auto_refresh'} ? 1 - $param{'auto_refresh'} : $param{'auto_refresh'};
-		$tmpl_var{'auto_refresh_interval'} = $tmpl_var{'auto_refresh'} ? get_config_value('poll_interval') : 0;
+		$tmpl_var{'auto_refresh_interval'} = $tmpl_var{'auto_refresh'} ? 15 : 0;
 		$tmpl_var{'view_raw_stats'} = $param{'view_raw_stats'};
 		$tmpl_var{'graph_width'} = get_config_value('graph_width');
 		$tmpl_var{'graph_height'} = get_config_value('graph_height');
@@ -1085,7 +1085,7 @@
 		my %param = %{$parameter_ref};
 		$param{'width'} ||= get_config_value('graph_width');
 		$param{'height'} ||= get_config_value('graph_height');
-		$param{'time_span'} ||= "minute";
+		$param{'time_span'} ||= "quarter";
 		$param{'unit_id'} ||= -1;
 		$param{'custom_name'} ||= "";
 		$param{'custom_divisors'} ||= "";
@@ -1107,7 +1107,7 @@
 					title			=> 'Cache hit ratio since start',
 					y_max_value		=> 1,
 					#y_min_value		=> 0,
-					y_number_format	=> sub { return sprintf("%.2f", $_[0] * 100) }
+					y_number_format	=> sub { return Varnish::Util::get_formatted_number($_[0]) },
 				},
 				# the divisors and dividends are lists of names of the statistics to
 				# use when calculating the values in the graph. The names can be obtained
@@ -1123,6 +1123,7 @@
 					y_label			=> 'Reqs',
 					title			=> "Reqs / s last " . $param{'time_span'},
 					y_min_value		=> 0,
+					y_number_format	=> sub { return Varnish::Util::get_formatted_number($_[0]) },
 				},
 				# here we have no dividends as we only want to plot 'Client requests received'
 				divisors			=> [ 'Client requests received' ],
@@ -1136,6 +1137,7 @@
 					y_label			=> 'Failures',
 					title			=> "Backend conn failures / s last " . $param{'time_span'},
 					y_min_value		=> 0,
+					y_number_format	=> Varnish::Util::get_formatted_number,
 				},
 				divisors			=> [ 'Backend connections failures' ],
 				use_delta			=> 1,
@@ -1162,6 +1164,7 @@
 					title			=> $param{'custom_name'} .
 									($param{'custom_delta'} ? " / s " : "") 
 										.  " last " . $param{'time_span'},
+					y_number_format	=> sub { return Varnish::Util::get_formatted_number($_[0]) },
 				},
 				use_delta		=> $param{'custom_delta'},
 			},
@@ -1179,6 +1182,11 @@
 				x_tick_number	=> 6 * $x_tick_factor, # need to be set to make x_number_format work
 				x_number_format	=> sub { return strftime("%H:%M", localtime($_[0])); },
 			},
+			quarter	=> {
+				x_label			=> 'Time',
+				x_tick_number	=> 6 * $x_tick_factor, # need to be set to make x_number_format work
+				x_number_format	=> sub { return strftime("%H:%M", localtime($_[0])); },
+			},
 			day	=> {
 				x_label			=> 'Time',
 				x_tick_number	=> 6 * $x_tick_factor, # need to be set to make x_number_format work

Modified: trunk/varnish-tools/webgui/Varnish/Statistics.pm
===================================================================
--- trunk/varnish-tools/webgui/Varnish/Statistics.pm	2009-03-06 08:42:17 UTC (rev 3894)
+++ trunk/varnish-tools/webgui/Varnish/Statistics.pm	2009-03-06 09:04:38 UTC (rev 3895)
@@ -68,6 +68,7 @@
 		
 		my %seconds_for = (
 			minute	=> 60,
+			quarter	=> 900,
 			hour	=> 3600,
 			day		=> 86400,
 			week	=> 604800,	

Modified: trunk/varnish-tools/webgui/Varnish/Util.pm
===================================================================
--- trunk/varnish-tools/webgui/Varnish/Util.pm	2009-03-06 08:42:17 UTC (rev 3894)
+++ trunk/varnish-tools/webgui/Varnish/Util.pm	2009-03-06 09:04:38 UTC (rev 3895)
@@ -15,6 +15,7 @@
 				read_file
 				get_formatted_percentage
 				get_formatted_bytes
+				get_formatted_number
 				get_db_friendly_name 
 				get_error
 				set_error
@@ -95,27 +96,34 @@
 		return $dividend > 0 ? sprintf( "%.2f", 100 * ($divisor / $dividend)) : "inf";
 	}
 
+	
 	# thanks to foxdie at #varnish for php snippet
-	sub get_formatted_bytes {
-		my ($bytes) = @_;
+	sub get_formatted_number {
+		my ($number) = @_;
         
-		if ($bytes > 1099511627776) {
-			return sprintf( "%.3f TB", $bytes / 1099511627776);
+		if ($number > 1099511627776) {
+			return sprintf( "%.3fT", $number / 1099511627776);
         }
-        elsif ($bytes > 1073741824) {
-			return sprintf( "%.3f GB", $bytes / 1073741824);
+        elsif ($number > 1073741824) {
+			return sprintf( "%.3fG", $number / 1073741824);
         }
-        elsif ($bytes > 1048576) {
-			return sprintf( "%.3f MB", $bytes / 1048576);
+        elsif ($number> 1048576) {
+			return sprintf( "%.3fM", $number / 1048576);
         }
-        elsif ($bytes > 1024) {
-			return sprintf( "%.3f KB", $bytes / 1024);
+        elsif ($number> 1024) {
+			return sprintf( "%.3fK", $number / 1024);
         }
         else {
-			return $bytes . " B";
+			return $number;
         }
 	}
 
+	sub get_formatted_bytes {
+		my ($number) = @_;
+
+		return get_formatted_number($number) . "B";
+	}
+
 	sub get_db_friendly_name {
 		my ($name) = @_;
 

Modified: trunk/varnish-tools/webgui/templates/view_stats.tmpl
===================================================================
--- trunk/varnish-tools/webgui/templates/view_stats.tmpl	2009-03-06 08:42:17 UTC (rev 3894)
+++ trunk/varnish-tools/webgui/templates/view_stats.tmpl	2009-03-06 09:04:38 UTC (rev 3895)
@@ -107,12 +107,13 @@
 <a id="large_link_<TMPL_VAR NAME=UNIT_ID>_<TMPL_VAR NAME=IS_NODE>_<TMPL_VAR NAME=GRAPH_ID>" href=""><img width="<TMPL_VAR NAME=GRAPH_WIDTH>" height="<TMPL_VAR NAME=GRAPH_HEIGHT>" id="img_<TMPL_VAR NAME=UNIT_ID>_<TMPL_VAR NAME=IS_NODe>_<TMPL_VAR NAME=GRAPH_ID>" src=""/></a><br/>
 Last: 
 <a class="timeSpan" href="javascript:loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'minute')">Mi</a>
+<a class="timeSpan" href="javascript:loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'quarter')">Q</a>
 <a class="timeSpan" href="javascript:loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'hour')">H</a>
 <a class="timeSpan" href="javascript:loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'day')">D</a>
 <a class="timeSpan" href="javascript:loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'week')">W</a>
 </div>
 <script type="text/javascript">
-loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'minute');
+loadGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=GRAPH_ID>', 'quarter');
 </script>
 <TMPL_ELSE>
 <TMPL_VAR NAME=VALUE>
@@ -135,7 +136,7 @@
 <td><TMPL_VAR NAME=NAME></td>
 <TMPL_LOOP NAME=VALUES>
 <td>
-<a href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>','<TMPL_VAR NAME=IS_NODE>','<TMPL_VAR NAME=NAME>', 'minute', 0)">
+<a href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>','<TMPL_VAR NAME=IS_NODE>','<TMPL_VAR NAME=NAME>', 'quarter', 0)">
 <TMPL_VAR NAME=VALUE>
 </a>
 <div class="graph" id="graph_<TMPL_VAR NAME=UNIT_ID>_<TMPL_VAR NAME=IS_NODE>_<TMPL_VAR NAME=NAME>_raw" style="display: none">
@@ -145,11 +146,13 @@
 </a><br/>
 Last: 
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'minute', 0)">Mi</a>
+<a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'quarter', 0)">Q</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'hour', 0)">H</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'day', 0)">D</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'week', 0)">W</a><br/>
 Delta: 
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'minute', 1)">Mi</a>
+<a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'quarter', 1)">Q</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'hour', 1)">H</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'day', 1)">D</a>
 <a class="timeSpan" href="javascript:loadRawGraph('<TMPL_VAR NAME=UNIT_ID>', '<TMPL_VAR NAME=IS_NODE>', '<TMPL_VAR NAME=NAME>', 'week', 1)">W</a>



More information about the varnish-commit mailing list