more diagnostics
[god.git] / lib / god / diagnostics.rb
blob388a06bcbf43263922366004b9d9eb3ea84eef82
1 def start_dike
2   require 'dike'
3   Thread.new do
4     Dike.logfactory File.join(File.dirname(__FILE__), *%w[.. .. logs])
5     loop do
6       Dike.finger
7       sleep(1)
8     end
9   end
10 end
12 class BleakHouseDiagnostic
13   LOG_FILE = File.join(File.dirname(__FILE__), *%w[.. .. logs bleak.log])
14   
15   class << self
16     attr_accessor :logger
17   end
18   
19   def self.install
20     require 'bleak_house'
21     self.logger = BleakHouse::Logger.new
22     File.delete(LOG_FILE) rescue nil
23   end
24   
25   def self.snapshot
26     self.logger.snapshot(LOG_FILE, "timer", false) if self.logger
27   end
28   
29   def self.spin(delay = 1)
30     Thread.new do
31       loop do
32         self.snapshot
33         sleep(delay)
34       end
35     end
36   end
37 end