Sha256: 5bc392a8ef32bbd3ff6adf668c626636ed3698378edf1abd393ce28ac60f0bdc

Contents?: true

Size: 1022 Bytes

Versions: 10

Compression:

Stored size: 1022 Bytes

Contents

require 'sqreen/log/loggable'

module Sqreen
  class EcosystemIntegration
    class SignalConsumption
      include Sqreen::Log::Loggable

      PAYLOAD_CREATOR_SECTIONS = %w[request response params headers].freeze

      # @param [Sqreen::Frameworks::GenericFramework] framework
      # @param [Sqreen::EcosystemIntegration::RequestLifecycleTracking]
      # @param [Sqreen::CappedQueue]
      def initialize(framework, req_lifecycle, queue)
        @framework = framework
        @req_lifecycle = req_lifecycle
        @queue = queue
      end

      def consume_signal(signal)
        # transitional
        unless Sqreen.features.fetch('use_signals', DEFAULT_USE_SIGNALS)
          logger.debug { "Discarding signal #{signal} (signals disabled)" }
          return
        end

        if @req_lifecycle.in_request?
          # add it to the request record
          @framework.observe(:signals, signal, PAYLOAD_CREATOR_SECTIONS, true)
        else
          @queue.push signal
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sqreen-1.22.0-java lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.22.0 lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.1-java lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.1 lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0-java lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0 lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0.beta3-java lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0.beta3 lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0.beta2 lib/sqreen/ecosystem_integration/signal_consumption.rb
sqreen-1.21.0.beta1 lib/sqreen/ecosystem_integration/signal_consumption.rb