aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPatrick J Cherry <patrick@bytemark.co.uk>2012-12-04 11:55:24 +0000
committerPatrick J Cherry <patrick@bytemark.co.uk>2012-12-04 11:55:24 +0000
commit43e9b5101fc290db2ea1c2a9c3bfc3e11aee0e32 (patch)
tree27813a2d32a2ae86c7cd479b9b4c885c0108c863 /lib
parent2c843719f0776baa28099d15a58768a6ddefa94f (diff)
Added "eager" loading when looking at event histories.
Diffstat (limited to 'lib')
-rw-r--r--lib/mauve/history.rb10
-rw-r--r--lib/mauve/web_interface.rb12
2 files changed, 17 insertions, 5 deletions
diff --git a/lib/mauve/history.rb b/lib/mauve/history.rb
index 674099f..fa5078d 100644
--- a/lib/mauve/history.rb
+++ b/lib/mauve/history.rb
@@ -116,6 +116,16 @@ module Mauve
public
+ def cached_alerts
+ return @cached_alerts if defined? @cached_alerts
+ @cached_alerts = []
+ end
+
+ def reload
+ @cached_alerts = []
+ super
+ end
+
# @return Log4r::Logger
def logger
Log4r::Logger.new self.class.to_s
diff --git a/lib/mauve/web_interface.rb b/lib/mauve/web_interface.rb
index 5bb339a..896b9cb 100644
--- a/lib/mauve/web_interface.rb
+++ b/lib/mauve/web_interface.rb
@@ -476,12 +476,13 @@ EOF
query = {:alert => {}, :history => {}}
query[:alert][:id] = params[:id]
- query[:history][:type] = ["update", "notification"]
+ query[:history][:type] = ["update", "notification"]
+ query[:history][:order] = [:created_at.asc]
@alert = Alert.get!(params['id'])
@title += " Events: Alert #{@alert.alert_id} from #{@alert.source}"
@alert_counts = alert_counts(false)
- @events = AlertHistory.all(formulate_events_query(query)).history
+ @events = AlertHistory.all(formulate_events_query(query))
haml :events_list
end
@@ -527,14 +528,14 @@ EOF
query = {:history => {}}
query[:history][:created_at.gte] = Time.local(today.year, today.month, today.day, 0, 0, 0)
query[:history][:created_at.lt] = Time.local(tomorrow.year, tomorrow.month, tomorrow.day, 0, 0, 0)
+ query[:history][:order] = [:created_at.asc]
events = AlertHistory.all(formulate_events_query(query))
-
event_week = ((today - start)/7).floor
event_day = (today.wday == 0 ? 6 : (today.wday - 1))
@events_by_week[event_week] ||= Array.new(7) { Array.new }
- @events_by_week[event_week][event_day] = (events.count == 0 ? [] : events.history)
+ @events_by_week[event_week][event_day] = events
today = tomorrow
end
@@ -581,8 +582,9 @@ EOF
query = {:history => {}}
query[:history][:created_at.gte] = @start
query[:history][:created_at.lt] = finish
+ query[:history][:order] = [:created_at.asc]
- @events = AlertHistory.all(formulate_events_query(query)).history
+ @events = AlertHistory.all(formulate_events_query(query))
@alert_counts = alert_counts(false)
haml :events_list