Sha256: b94f06f5d30dec0306125e19c4cdde9a9f62370f4c7cf22932e8b633f5493ea5

Contents?: true

Size: 906 Bytes

Versions: 2

Compression:

Stored size: 906 Bytes

Contents

require_relative 'events/discard'
require_relative 'events/enqueue'
require_relative 'events/enqueue_at'
require_relative 'events/enqueue_retry'
require_relative 'events/perform'
require_relative 'events/retry_stopped'

module Datadog
  module Tracing
    module Contrib
      module ActiveJob
        # Defines collection of instrumented ActiveJob events
        module Events
          ALL = [
            Events::Discard,
            Events::Enqueue,
            Events::EnqueueAt,
            Events::EnqueueRetry,
            Events::Perform,
            Events::RetryStopped,
          ].freeze

          module_function

          def all
            self::ALL
          end

          def subscriptions
            all.collect(&:subscriptions).collect(&:to_a).flatten
          end

          def subscribe!
            all.each(&:subscribe!)
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddtrace-1.10.1 lib/datadog/tracing/contrib/active_job/events.rb
ddtrace-1.10.0 lib/datadog/tracing/contrib/active_job/events.rb