Code

collection3: fix multiple hosts selection issue
authorJerome Oufella <jerome.oufella@savoirfairelinux.com>
Wed, 1 Sep 2010 18:35:58 +0000 (14:35 -0400)
committerFlorian Forster <octo@huhu.verplant.org>
Sat, 4 Sep 2010 20:30:58 +0000 (22:30 +0200)
When selecting multiple hosts in collection3's hosts list, and with some
plugins only (the ones that use a specific resource name such as memory
or tcpconns), the resulting graph list will be limited to one single
graph (instead of one per host).

This patch addresses this issue by modifying the name of the hash key
in the group_files_by_plugin_instance function, making it less prone
to name collisions by prefixing it by the host name.

Comments and enhancements will be welcome.

Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3/lib/Collectd/Graph/Common.pm

index f88c22b5420aeb9e961c208dc688b6f9f463f8e0..c6e250819430c4330f5bf00ba48c847ab2b12819 100644 (file)
@@ -106,7 +106,9 @@ sub group_files_by_plugin_instance
   for (my $i = 0; $i < @files; $i++)
   {
     my $file = $files[$i];
-    my $key = $file->{'plugin_instance'} || '';
+    my $key1 = $file->{'hostname'} || '';
+    my $key2 = $file->{'plugin_instance'} || '';
+    my $key = "$key1-$key2";
 
     $data->{$key} ||= [];
     push (@{$data->{$key}}, $file);