Sha256: 5a9f802d640a2ab40fbad8c1a13074a37456af111be54cf30504766553f8427d

Contents?: true

Size: 673 Bytes

Versions: 7

Compression:

Stored size: 673 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

7 entries across 7 versions & 1 rubygems

Version Path
ddtrace-0.51.1 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.51.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.50.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.49.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.48.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.47.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb
ddtrace-0.46.0 lib/ddtrace/contrib/qless/tracer_cleaner.rb