[collectd] [PATCH 4/6] php-collection/definitions.php: Add MetaGraph definitions for bind plugin
    Bruno Prémont 
    bonbons at linux-vserver.org
       
    Sun Mar  1 22:19:59 CET 2009
    
    
  
php-collection/definitions.php: Add MetaGraph definitions for bind plugin
Add metagraph definition and matching function for the various
types used by bind plugin.
Adjust the memory MetaGraph function to support bind memory statistics.
diff --git a/contrib/php-collection/definitions.php b/contrib/php-collection/definitions.php
--- a/contrib/php-collection/definitions.php
+++ b/contrib/php-collection/definitions.php
@@ -1576,6 +1576,18 @@ function load_graph_definitions($logarithmic = false, $tinylegend = false) {
 	$MetaGraphDefs['mysql_commands']    = 'meta_graph_mysql_commands';
 	$MetaGraphDefs['mysql_handler']     = 'meta_graph_mysql_commands';
 	$MetaGraphDefs['tcp_connections']   = 'meta_graph_tcp_connections';
+	$MetaGraphDefs['dns_opcode']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_qtype']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_rcode']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_request']       = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_resolver']      = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_update']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_zops']          = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_response']      = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_query']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_reject']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_notify']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_transfer']      = 'meta_graph_dns_event';
 
 	if (function_exists('load_graph_definitions_local'))
 		load_graph_definitions_local($logarithmic, $tinylegend);
@@ -1706,13 +1718,20 @@ function meta_graph_memory($host, $plugin, $plugin_instance, $type, $type_instan
 
 	$files = array();
 	$opts['colors'] = array(
+		// Linux - System memoery
 		'free'     => '00e000',
 		'cached'   => '0000ff',
 		'buffered' => 'ffb000',
-		'used'     => 'ff0000'
+		'used'     => 'ff0000',
+		// Bind - Server memory
+		'TotalUse'    => '00e000',
+		'InUse'       => 'ff0000',
+		'BlockSize'   => '8888dd',
+		'ContextSize' => '444499',
+		'Lost'        => '222222'
 	);
 
-	$type_instances = array('free', 'cached', 'buffered', 'used');
+	$type_instances = array('free', 'cached', 'buffered', 'used',   'TotalUse', 'InUse', 'BlockSize', 'ContextSize', 'Lost');
 	while (list($k, $inst) = each($type_instances)) {
 		$file = '';
 		foreach ($config['datadirs'] as $datadir)
@@ -2037,4 +2056,34 @@ function meta_graph_tcp_connections($host, $plugin, $plugin_instance, $type, $ty
 	return collectd_draw_meta_stack($opts, $sources);
 }
 
+function meta_graph_dns_event($host, $plugin, $plugin_instance, $type, $type_instances, $opts = array()) {
+	global $config;
+	$sources = array();
+
+	$title = "$host/$plugin".(!is_null($plugin_instance) ? "-$plugin_instance" : '')."/$type";
+	if (!isset($opts['title']))
+		$opts['title'] = $title;
+	$opts['rrd_opts'] = array('-v', 'Events', '-r', '-l', '0');
+
+	$files = array();
+//	$opts['colors'] = array(
+//	);
+
+//	$type_instances = array('IQUERY', 'NOTIFY');
+	while (list($k, $inst) = each($type_instances)) {
+		$file  = '';
+		$title = $opts['title'];
+		foreach ($config['datadirs'] as $datadir)
+			if (is_file($datadir.'/'.$title.'-'.$inst.'.rrd')) {
+				$file = $datadir.'/'.$title.'-'.$inst.'.rrd';
+				break;
+			}
+		if ($file == '')
+			continue;
+
+		$sources[] = array('name'=>$inst, 'file'=>$file);
+	}
+	return collectd_draw_meta_stack($opts, $sources);
+}
+
 ?>
    
    
More information about the collectd
mailing list