Class: Gremlin::NotificationObserver::SummaryReceiver

Inherits:
Object
  • Object
show all
Defined in:
lib/gremlin/notification_observer.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, docstring, labels, payload_field) ⇒ SummaryReceiver

Returns a new instance of SummaryReceiver.



21
22
23
24
25
26
27
# File 'lib/gremlin/notification_observer.rb', line 21

def initialize(name, docstring, labels, payload_field)
  @instrument = Gremlin::Instruments::Summary.new(name, docstring, labels)
  begin
    Gremlin.registry.register @instrument
  rescue Gremlin::Registry::AlreadyRegisteredError; end
  @field_to_observe = payload_field
end

Instance Method Details

#call(name, start, finish, id, payload) ⇒ Object



29
30
31
# File 'lib/gremlin/notification_observer.rb', line 29

def call(name, start, finish, id, payload)
  instrument.observe({}, payload[@field_to_observe.to_sym])
end

#instrumentObject



33
34
35
# File 'lib/gremlin/notification_observer.rb', line 33

def instrument
  Gremlin.registry.get(@instrument.name)
end