These methods previously stored the metrics as a side effect; now they
simply compute the metrics and return them.

Signed-off-by: Paul Berry <[email protected]>
---
 lib/puppet/transaction/report.rb |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/lib/puppet/transaction/report.rb b/lib/puppet/transaction/report.rb
index 16b854a..f78b5aa 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
-- 
1.7.2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to