contrib/collection3: Add a generic `instance' placeholder.
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sun, 27 Jul 2008 15:22:26 +0000 (17:22 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sun, 27 Jul 2008 15:22:26 +0000 (17:22 +0200)
It will be replaced by either the type or plugin instance, depending on
which is defined.. This is handy for temperatures and stuff like that,
where sometimes the type instance doesn't exist.

contrib/collection3/etc/collection.conf
contrib/collection3/lib/Collectd/Graph/Type.pm

index a8be4fd..e60316f 100644 (file)
@@ -108,7 +108,7 @@ GraphWidth 400
 <Type fanspeed>
   DataSources value
   DSName value RPM
-  RRDTitle "Fanspeed ({type_instance})"
+  RRDTitle "Fanspeed ({instance})"
   RRDVerticalLabel "RPM"
   RRDFormat "%6.1lf"
   Color value 00b000
@@ -263,7 +263,7 @@ GraphWidth 400
 <Type temperature>
   DataSources value
   DSName value Temp
-  RRDTitle "Temperature ({type_instance})"
+  RRDTitle "Temperature ({instance})"
   RRDVerticalLabel "°Celsius"
   RRDFormat "%4.1lf°C"
 </Type>
index 60097e5..1fb60af 100644 (file)
@@ -248,6 +248,20 @@ sub getTitle
   my $plugin_instance = $ident->{'plugin_instance'};
   my $type = $ident->{'type'};
   my $type_instance = $ident->{'type_instance'};
+  my $instance;
+
+  if (defined $type_instance)
+  {
+    $instance = $type_instance;
+  }
+  elsif (defined $plugin_instance)
+  {
+    $instance = $plugin_instance;
+  }
+  else
+  {
+    $instance = 'no instance';
+  }
 
   if (!defined $plugin_instance)
   {
@@ -264,6 +278,7 @@ sub getTitle
   $title =~ s#{plugin_instance}#$plugin_instance#g;
   $title =~ s#{type}#$type#g;
   $title =~ s#{type_instance}#$type_instance#g;
+  $title =~ s#{instance}#$instance#g;
 
   return ($title);
 }