Sha256: 882620fe13aabee7a2f521796badcfae362d4046bedfc63dd20b7eaeb30f8042
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
require 'ddtrace' module Datadog module Contrib # Extensions for auto instrumentation added to the base library # AutoInstrumentation enables all integration module AutoInstrument def self.extended(base) base.send(:extend, Patch) end # Patch adds method for invoking auto_instrumentation module Patch def add_auto_instrument super if Datadog::Contrib::Rails::Utils.railtie_supported? require 'ddtrace/contrib/rails/auto_instrument_railtie' else AutoInstrument.patch_all end AutoInstrument.patch_all end end def self.patch_all integrations = [] Datadog.registry.each do |integration| # some instrumentations are automatically enabled when the `rails` instrumentation is enabled, # patching them on their own automatically outside of the rails integration context would # cause undesirable service naming, so we exclude them based their auto_instrument? setting. # we also don't want to mix rspec/cucumber integration in as rspec is env we run tests in. next unless integration.klass.auto_instrument? integrations << integration.name end Datadog.configure do |c| c.reduce_log_verbosity # This will activate auto-instrumentation for Rails integrations.each do |integration_name| c.use integration_name end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-0.48.0 | lib/ddtrace/contrib/auto_instrument.rb |
ddtrace-0.47.0 | lib/ddtrace/contrib/auto_instrument.rb |
ddtrace-0.46.0 | lib/ddtrace/contrib/auto_instrument.rb |