Sha256: e8098485d1b12b232e41e5c1756717bde4556de430ed177f1c429add377072b1

Contents?: true

Size: 935 Bytes

Versions: 6

Compression:

Stored size: 935 Bytes

Contents

# frozen_string_literal: true

require "opentelemetry"
require "opentelemetry-instrumentation-base"

module Splunk
  module Otel
    module Instrumentation
      module ActionPack
        # The Instrumentation class contains logic to detect and install the ActionPack instrumentation
        class Instrumentation < OpenTelemetry::Instrumentation::Base
          MINIMUM_VERSION = Gem::Version.new("5.2.0")

          install do |_config|
            require_railtie
          end

          present do
            defined?(::ActionController)
          end

          compatible do
            gem_version >= MINIMUM_VERSION
          end

          option :enable_recognize_route, default: false, validate: :boolean

          private

          def gem_version
            ::ActionPack.version
          end

          def require_railtie
            require_relative "railtie"
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
splunk-otel-1.3.0 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb
splunk-otel-1.1.3 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb
splunk-otel-1.1.0 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb
splunk-otel-1.0.0 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb
splunk-otel-0.2.0 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb
splunk-otel-0.1.0 lib/splunk/otel/instrumentation/action_pack/instrumentation.rb