Sha256: 4dae9a0e7f22a8416ab3f0f78cabc742527284f804ed5efce6ad3347272d90e8

Contents?: true

Size: 721 Bytes

Versions: 4

Compression:

Stored size: 721 Bytes

Contents

# typed: true

require 'ddtrace'

module Datadog
  module AppSec
    module Contrib
      # Auto-instrumentation for security integrations
      # TODO: this implementation is trivial, check for shareable code with tracer
      module AutoInstrument
        def self.patch_all
          integrations = []

          Datadog::AppSec::Contrib::Integration.registry.each do |_name, integration|
            next unless integration.klass.auto_instrument?

            integrations << integration.name
          end

          Datadog::AppSec.configure do |c|
            integrations.each do |integration_name|
              c.instrument integration_name
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddtrace-1.2.0 lib/datadog/appsec/contrib/auto_instrument.rb
ddtrace-1.1.0 lib/datadog/appsec/contrib/auto_instrument.rb
ddtrace-1.0.0 lib/datadog/appsec/contrib/auto_instrument.rb
ddtrace-1.0.0.beta2 lib/datadog/appsec/contrib/auto_instrument.rb