Module: Collectd::EmPlugin

Included in:
Plugin
Defined in:
lib/collectd/em_support.rb

Overview

EventMachine support stuff. Included in Collectd::Plugin.

Instance Method Summary collapse

Instance Method Details

#push_deferrable_values(name, attach_time) ⇒ Object



16
17
18
19
# File 'lib/collectd/em_support.rb', line 16

def push_deferrable_values(name, attach_time)
  latency(name).gauge = Time.now - attach_time
  counter(name).count! 1
end

#track_deferrable(name, deferrable) ⇒ Object

Attaches additional callback and errback to deferrable to track a common set of success/error rate/latency



7
8
9
10
11
12
13
14
15
# File 'lib/collectd/em_support.rb', line 7

def track_deferrable(name, deferrable)
  attach_time = Time.now
  deferrable.callback do |*a|
    push_deferrable_values("#{name}_success", attach_time)
  end
  deferrable.errback do |*a|
    push_deferrable_values("#{name}_error", attach_time)
  end
end