Sha256: 6e94cffb51cfda784079e3389d5e46938b28d23bab857c788d7f2f111d54b060

Contents?: true

Size: 1011 Bytes

Versions: 10

Compression:

Stored size: 1011 Bytes

Contents

module Eventboss
  # :nodoc:
  module Instrumentation
    def self.add(queue_listeners)
      return unless defined?(::NewRelic::Agent::Instrumentation::ControllerInstrumentation)
      Eventboss::Instrumentation::NewRelic.install(queue_listeners)
    end

    # :nodoc:
    module NewRelic
      def self.install(queue_listeners)
        Eventboss::Logger.logger.info('Loaded NewRelic instrumentation')
        queue_listeners.each_value do |listener_class|
          listener_class.include(::NewRelic::Agent::Instrumentation::ControllerInstrumentation)
          listener_class.add_transaction_tracer(:receive, category: 'OtherTransaction/EventbossJob')
        end

        Eventboss::Sender.include(::NewRelic::Agent::MethodTracer)
        Eventboss::Sender.add_method_tracer(:send_batch, 'Eventboss/sender_send_batch')

        Eventboss::Publisher.include(::NewRelic::Agent::MethodTracer)
        Eventboss::Publisher.add_method_tracer(:publish, 'Eventboss/publisher_publish')
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
eventboss-1.1.2 lib/eventboss/instrumentation.rb
eventboss-1.1.1 lib/eventboss/instrumentation.rb
eventboss-1.1.0 lib/eventboss/instrumentation.rb
eventboss-1.0.6 lib/eventboss/instrumentation.rb
eventboss-1.0.5 lib/eventboss/instrumentation.rb
eventboss-1.0.4 lib/eventboss/instrumentation.rb
eventboss-1.0.3 lib/eventboss/instrumentation.rb
eventboss-1.0.2 lib/eventboss/instrumentation.rb
eventboss-1.0.1 lib/eventboss/instrumentation.rb
eventboss-1.0.0 lib/eventboss/instrumentation.rb