summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a61283c)
raw | patch | inline | side by side (parent: a61283c)
author | Anthony Dewhurst <dewhurst@gmail.com> | |
Sun, 2 Aug 2009 22:25:45 +0000 (23:25 +0100) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Mon, 31 Aug 2009 15:18:00 +0000 (17:18 +0200) |
CDEFs are not stacked and AREAs are not added when "Stacking" is set to off.
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
contrib/collection3/lib/Collectd/Graph/Type/GenericStacked.pm | patch | blob | history | |
contrib/collection3/lib/Collectd/Graph/TypeLoader.pm | patch | blob | history |
diff --git a/contrib/collection3/lib/Collectd/Graph/Type/GenericStacked.pm b/contrib/collection3/lib/Collectd/Graph/Type/GenericStacked.pm
index 36c900a2532ddb02374af0d7df5202764bfae6ea..8596ae9df673be2a0054e2bc68460fbf1b66af45 100644 (file)
}
}
+ my $stacking = $obj->{'stacking'};
+ if ($stacking)
+ {
+ if ($stacking =~ m/^(no|false|off|none)$/i)
+ {
+ $stacking = 0;
+ }
+ else
+ {
+ $stacking = 1;
+ }
+ }
+
if (defined $obj->{'rrd_vertical'})
{
push (@ret, '-v', $obj->{'rrd_vertical'});
{
$ds_name_len = length ($names[$i]);
}
-
+
# Escape colons _after_ the length has been checked.
$names[$i] =~ s/:/\\:/g;
"DEF:max${i}=${filename}:${data_source}:MAX");
}
- for (my $i = @$idents - 1; $i >= 0; $i--)
- {
- if ($i == (@$idents - 1))
+ if ($stacking) {
+ for (my $i = @$idents - 1; $i >= 0; $i--)
{
- push (@ret,
- "CDEF:cdef${i}=avg${i},UN,0,avg${i},IF");
+ if ($i == (@$idents - 1))
+ {
+ push (@ret,
+ "CDEF:cdef${i}=avg${i},UN,0,avg${i},IF");
+ }
+ else
+ {
+ my $j = $i + 1;
+ push (@ret,
+ "CDEF:cdef${i}=avg${i},UN,0,avg${i},IF,cdef${j},+");
+ }
}
- else
+
+ for (my $i = 0; $i < @$idents; $i++)
{
- my $j = $i + 1;
+ my $type_instance = $idents->[$i]{'type_instance'};
+ my $color = '000000';
+ if (exists $colors->{$type_instance})
+ {
+ $color = $colors->{$type_instance};
+ }
+
+ $color = get_faded_color ($color);
+
push (@ret,
- "CDEF:cdef${i}=avg${i},UN,0,avg${i},IF,cdef${j},+");
+ "AREA:cdef${i}#${color}");
}
}
-
- for (my $i = 0; $i < @$idents; $i++)
+ else
{
- my $type_instance = $idents->[$i]{'type_instance'};
- my $color = '000000';
- if (exists $colors->{$type_instance})
+ for (my $i = @$idents - 1; $i >= 0; $i--)
{
- $color = $colors->{$type_instance};
+ push (@ret,
+ "CDEF:cdef${i}=avg${i}");
}
-
- $color = get_faded_color ($color);
-
- push (@ret,
- "AREA:cdef${i}#${color}");
}
+
for (my $i = 0; $i < @$idents; $i++)
{
my $type_instance = $idents->[$i]{'type_instance'};
diff --git a/contrib/collection3/lib/Collectd/Graph/TypeLoader.pm b/contrib/collection3/lib/Collectd/Graph/TypeLoader.pm
index a9e85f57e43444fcc93efbfeec912b3a59bf8c9e..697155478e341a53b760e0e19b4599f2b21aeb60 100644 (file)
@Collectd::Graph::TypeLoader::EXPORT_OK = ('tl_load_type');
our @ArrayMembers = (qw(data_sources rrd_opts custom_order));
-our @ScalarMembers = (qw(rrd_title rrd_format rrd_vertical scale ignore_unknown));
+our @ScalarMembers = (qw(rrd_title rrd_format rrd_vertical scale ignore_unknown stacking));
our @DSMappedMembers = (qw(ds_names rrd_colors));
our %MemberToConfigMap =
rrd_colors => 'color',
scale => 'scale', # GenericIO only
custom_order => 'order', # GenericStacked only
+ stacking => 'stacking', # GenericStacked only
ignore_unknown => 'ignoreunknown' # GenericStacked only
);