Class: Stracer::Recorder

Inherits:
Object
  • Object
show all
Defined in:
lib/stracer/recorder.rb

Instance Method Summary collapse

Constructor Details

#initialize(stats, log, opts = {}) ⇒ Recorder

Returns a new instance of Recorder.



3
4
5
6
7
# File 'lib/stracer/recorder.rb', line 3

def initialize(stats, log, opts = {})
  @log = log
  @stats = stats
  @host = opts[:host] || "unknown_host"
end

Instance Method Details

#error(message) ⇒ Object



9
10
11
# File 'lib/stracer/recorder.rb', line 9

def error(message)
  @log.error(message)
end

#fail(label, message) ⇒ Object



22
23
24
25
# File 'lib/stracer/recorder.rb', line 22

def fail(label, message)
  error(message)
  @stats.increment "error.#{label}.#{@host}"
end

#log(message) ⇒ Object



13
14
15
# File 'lib/stracer/recorder.rb', line 13

def log(message)
  @log.info(message)
end

#measure(key) ⇒ Object



27
28
29
30
31
32
# File 'lib/stracer/recorder.rb', line 27

def measure(key)
  start = Time.now
  result = yield
  timing(key, ((Time.now - start) * 1000).round)
  result
end

#timing(key, value) ⇒ Object



34
35
36
37
# File 'lib/stracer/recorder.rb', line 34

def timing(key, value)
  @stats.timing("#{key}.#{@host}", value)
  @log.debug("Traced total of #{value} for #{key}")
end

#trace(label, message = nil) ⇒ Object



17
18
19
20
# File 'lib/stracer/recorder.rb', line 17

def trace(label, message = nil)
  @log.debug(message) if message
  @stats.increment "#{label}.#{@host}"
end