[PATCH] BZ843074 graph fix for case when deployment/instance goes from pending to stopped

Tzu-Mainn Chen tzumainn at redhat.com
Thu Aug 9 14:46:48 UTC 2012


---
 src/app/controllers/logs_controller.rb      |   15 ++++++++++++++-
 src/app/controllers/providers_controller.rb |    1 +
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/src/app/controllers/logs_controller.rb b/src/app/controllers/logs_controller.rb
index 72d0125..e55e484 100644
--- a/src/app/controllers/logs_controller.rb
+++ b/src/app/controllers/logs_controller.rb
@@ -293,12 +293,25 @@ class LogsController < ApplicationController
       end
     end
 
+    # these will be needed to handle the case where a source stops without
+    # ever going into the running state
+    start_conditions = ["source_type = ? and status_code = ?",
+                        @source_type, start_code]
+    start_events = Event.unscoped.find(:all,
+                                       :conditions => start_conditions)
+
     @datasets.initialize_datasets
 
     @events.each do |event|
       event_timestamp = event.event_time.to_i * 1000
 
-      if event.status_code == start_code || event.status_code == end_code
+      if event.status_code == start_code ||
+          (event.status_code == end_code &&
+           start_events.any? {|s|
+             s.source_id == event.source_id &&
+             s.event_time <= event.event_time
+           }
+           )
         increment = (event.status_code == end_code) ? -1 : 1
 
         @datasets.add_dataset_point("All", event_timestamp, increment)
diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb
index d7a3761..a929f95 100644
--- a/src/app/controllers/providers_controller.rb
+++ b/src/app/controllers/providers_controller.rb
@@ -458,6 +458,7 @@ class ProvidersController < ApplicationController
         end
 
         if !instance.time_last_stopped.nil? &&
+            instance.time_last_stopped >= instance.time_last_running &&
             instance.time_last_stopped <= @to_date.to_datetime.end_of_day
           events << {
             "time" => instance.time_last_stopped,
-- 
1.7.6.5




More information about the aeolus-devel mailing list