summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Berry <paul@puppetlabs.com>2010-12-29 14:35:58 -0800
committerPaul Berry <paul@puppetlabs.com>2010-12-30 11:52:18 -0800
commite4a2e049dc9f77569a2dac042e9e847ef34f037d (patch)
tree2c5cc5d0cd6ac224e25c2a202898614a89d8d831
parent71db5be0ecc5ab591e01974ba109f621348fdea0 (diff)
downloadpuppet-e4a2e049dc9f77569a2dac042e9e847ef34f037d.tar.gz
puppet-e4a2e049dc9f77569a2dac042e9e847ef34f037d.tar.xz
puppet-e4a2e049dc9f77569a2dac042e9e847ef34f037d.zip
(#5715) Made the report "calculate" methods strictly functional.
These methods previously stored the metrics as a side effect; now they simply compute the metrics and return them.
-rw-r--r--lib/puppet/transaction/report.rb17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/puppet/transaction/report.rb b/lib/puppet/transaction/report.rb
index 16b854afc..f78b5aa21 100644
--- a/lib/puppet/transaction/report.rb
+++ b/lib/puppet/transaction/report.rb
@@ -44,10 +44,10 @@ class Puppet::Transaction::Report
end
def finalize_report
- calculate_resource_metrics
- calculate_time_metrics
- calculate_change_metric
- calculate_event_metrics
+ add_metric(:resources, calculate_resource_metrics)
+ add_metric(:time, calculate_time_metrics)
+ add_metric(:changes, {:total => calculate_change_metric})
+ add_metric(:events, calculate_event_metrics)
end
def initialize(kind, configuration_version=nil)
@@ -108,8 +108,7 @@ class Puppet::Transaction::Report
private
def calculate_change_metric
- total = resource_statuses.map { |name, status| status.change_count || 0 }.inject(0) { |a,b| a+b }
- add_metric(:changes, {:total => total})
+ resource_statuses.map { |name, status| status.change_count || 0 }.inject(0) { |a,b| a+b }
end
def calculate_event_metrics
@@ -122,7 +121,7 @@ class Puppet::Transaction::Report
end
end
- add_metric(:events, metrics)
+ metrics
end
def calculate_resource_metrics
@@ -136,7 +135,7 @@ class Puppet::Transaction::Report
end
end
- add_metric(:resources, metrics)
+ metrics
end
def calculate_time_metrics
@@ -152,6 +151,6 @@ class Puppet::Transaction::Report
metrics["total"] = metrics.values.inject(0) { |a,b| a+b }
- add_metric(:time, metrics)
+ metrics
end
end