Sha256: 69bcdb096ab25d53f3bd426861e66c64a09f71ae1f4c75d8d6fce5caaf6efdff

Contents?: true

Size: 672 Bytes

Versions: 2

Compression:

Stored size: 672 Bytes

Contents

module Datadog
  module Contrib
    module Qless
      # Shutdown Tracer in forks for performance reasons
      module TracerCleaner
        def around_perform(job)
          return super unless datadog_configuration && tracer

          super.tap do
            tracer.shutdown! if forked?
          end
        end

        private

        def forked?
          pin = Datadog::Pin.get_from(::Qless)
          return false unless pin
          pin.config[:forked] == true
        end

        def tracer
          datadog_configuration.tracer
        end

        def datadog_configuration
          Datadog.configuration[:qless]
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddtrace-0.45.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.44.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb