From afbd66e72efa7d0232f83ecc4936d505e1df998f Mon Sep 17 00:00:00 2001 From: Daniel Molina Date: Tue, 12 Jul 2011 19:26:36 +0200 Subject: [PATCH] Fix VmSample monitoring --- src/acct/watch_client.rb | 2 +- src/acct/watch_helper.rb | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/acct/watch_client.rb b/src/acct/watch_client.rb index 8dfd5f3ab7..6cc295a6b1 100644 --- a/src/acct/watch_client.rb +++ b/src/acct/watch_client.rb @@ -94,7 +94,7 @@ module OneWatchClient end a = Array.new - resources.group_and_count(:timestamp).collect { |row| + resources.group_and_count(:timestamp).all.each { |row| a << [row[:timestamp], row[:count].to_i] } diff --git a/src/acct/watch_helper.rb b/src/acct/watch_helper.rb index 4d0c37a446..dca1b56070 100644 --- a/src/acct/watch_helper.rb +++ b/src/acct/watch_helper.rb @@ -341,12 +341,14 @@ module WatchHelper end def self.flush - VmDelta.multi_insert(@@deltas_cache) - VmSample.multi_insert(@@samples_cache) + DB.transaction do + VmDelta.multi_insert(@@deltas_cache) + VmSample.multi_insert(@@samples_cache) + end Vm.each { |vm| if vm.samples.count > @@vm_window_size - vm.samples.last.delete + vm.samples.first.destroy end } @@ -395,11 +397,13 @@ module WatchHelper end def self.flush - HostSample.multi_insert(@@samples_cache) + DB.transaction do + HostSample.multi_insert(@@samples_cache) + end Host.all.each { |host| if host.samples.count > @@host_window_size - host.samples.first.delete + host.samples.first.destroy end }