Merge branch 'uni/collectd-4.1' into collectd-4.1
authorFlorian Forster <octo@huhu.verplant.org>
Tue, 11 Sep 2007 09:46:07 +0000 (11:46 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Tue, 11 Sep 2007 09:46:07 +0000 (11:46 +0200)
ChangeLog
contrib/collection.cgi

index 2c4cf09..9e1a2d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-09-10, Version 4.1.1
+       * Build system: The detection of `libnetlink' has been improved.
+       * collectd: The documentation has been fixed in numerous places.
+       * exec plugin: Setting the group under which to run a program has been
+         fixed.
+
 2007-09-01, Version 4.1.0
        * Build system: The build system has been changed to automatically
          disable all plugins, which are missing dependencies. The dependency
        * xmms plugin: The new `xmms' plugin graphs the bitrate and frequency
          of music played with xmms.
 
+2007-09-10, Version 4.0.8
+       * collectd: The `sstrerror' function was improved to work correctly
+         with the broken GNU version of `strerror_r'.
+
 2007-08-26, Version 4.0.7
        * documentation: Some typos have been fixed and some information has
          been improved.
@@ -29,6 +39,7 @@
          (i. e. without quotes).
        * nut plugin: A fix allows linking the nut plugin against
          libupsclient, version >= 2.2.0.
+       * processes plugin: Fix a potential segmentation fault.
 
 2007-07-30, Version 4.0.6
        * sensors plugin: Fix the ignorelist functionality: Only the `type
index a40db87..ebd937e 100755 (executable)
@@ -2332,6 +2332,8 @@ sub load_graph_definitions
   $GraphDefs->{'if_tx_errors'} = $GraphDefs->{'if_rx_errors'};
 
   $MetaGraphDefs->{'cpu'} = \&meta_graph_cpu;
+  $MetaGraphDefs->{'if_rx_errors'} = \&meta_graph_if_rx_errors;
+  $MetaGraphDefs->{'if_tx_errors'} = \&meta_graph_if_rx_errors;
   $MetaGraphDefs->{'memory'} = \&meta_graph_memory;
   $MetaGraphDefs->{'nfs_procedure'} = \&meta_graph_nfs_procedure;
   $MetaGraphDefs->{'ps_state'} = \&meta_graph_ps_state;
@@ -2381,17 +2383,21 @@ sub meta_graph_generic_stack
       qq#CDEF:${inst_name}_nnl=${inst_name}_avg,UN,0,${inst_name}_avg,IF#);
   }
 
-  for (my $i = 0; $i < @$sources; $i++)
   {
-    my $inst_data0 = $sources->[@$sources - (1 + $i)];
-    my $inst_data1 = $sources->[@$sources - (($i == 0) ? 1 : $i)];
+    my $inst_data = $sources->[@$sources - 1];
+    my $inst_name = $inst_data->{'name'};
+
+    push (@cmd, qq#CDEF:${inst_name}_stk=${inst_name}_nnl#);
+  }
+  for (my $i = 1; $i < @$sources; $i++)
+  {
+    my $inst_data0 = $sources->[@$sources - ($i + 1)];
+    my $inst_data1 = $sources->[@$sources - $i];
 
     my $inst_name0 = $inst_data0->{'name'};
     my $inst_name1 = $inst_data1->{'name'};
 
-    my $cdef_name = ($i == 0) ? 'nnl' : 'stk';
-
-    push (@cmd, qq#CDEF:${inst_name0}_stk=${inst_name0}_nnl,${inst_name1}_${cdef_name},+#);
+    push (@cmd, qq#CDEF:${inst_name0}_stk=${inst_name0}_nnl,${inst_name1}_stk,+#);
   }
 
   for (my $i = 0; $i < @$sources; $i++)
@@ -2553,6 +2559,53 @@ sub meta_graph_memory
   return (meta_graph_generic_stack ($opts, $sources));
 } # meta_graph_cpu
 
+sub meta_graph_if_rx_errors
+{
+  confess ("Wrong number of arguments") if (@_ != 5);
+
+  my $host = shift;
+  my $plugin = shift;
+  my $plugin_instance = shift;
+  my $type = shift;
+  my $type_instances = shift;
+
+  my $opts = {};
+  my $sources = [];
+
+  $opts->{'title'} = "$host/$plugin"
+  . (defined ($plugin_instance) ? "-$plugin_instance" : '') . "/$type";
+  $opts->{'number_format'} = '%5.2lf';
+  $opts->{'rrd_opts'} = ['-v', 'Errors/s'];
+
+  my @files = ();
+
+  for (sort @$type_instances)
+  {
+    my $inst = $_;
+    my $file = '';
+    my $title = $opts->{'title'};
+
+    for (@DataDirs)
+    {
+      if (-e "$_/$title-$inst.rrd")
+      {
+       $file = "$_/$title-$inst.rrd";
+       last;
+      }
+    }
+    confess ("No file found for $title") if ($file eq '');
+
+    push (@$sources,
+      {
+       name => $inst,
+       file => $file
+      }
+    );
+  } # for (@$type_instances)
+
+  return (meta_graph_generic_stack ($opts, $sources));
+} # meta_graph_if_rx_errors
+
 sub meta_graph_mysql_commands
 {
   confess ("Wrong number of arguments") if (@_ != 5);