Sha256: d7c71be54c76ad985a48f57f1e76fa83d3d629662b830154b4f6300e2d064f5c

Contents?: true

Size: 1.43 KB

Versions: 10

Compression:

Stored size: 1.43 KB

Contents

# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

require 'logger'

module Sqreen
  module Ecosystem
    # Configured by the ecosystem client
    module DispatchTable
      class << self
        # data consumption
        # argument: +Sqreen::Kit::Signals::Signal+
        # see +Sqreen::EcosystemIntegration::SignalConsumption#consume_signal+
        attr_accessor :consume_signal

        # argument: block taking a Rack::Request
        # see +Sqreen::EcosystemIntegration::RequestLifecycleTracking#add_start_observer+
        attr_accessor :add_request_start_listener

        attr_accessor :fetch_logger

        # argument: callback taking:
        # * the method to instrument
        # * A Hash{Symbol=>Proc} with the advice. The proc takes the
        # arguments and the ball, so these details of the instrumentation
        # implementation leak through the abstraction
        # see +Sqreen::EcosystemIntegration::InstrumentationService+
        attr_accessor :instrument

        def reset
          instance_variables.each do |ia|
            instance_variable_set(ia, nil)
          end

          # set default logger
          logger = ::Logger.new(STDERR)
          logger.level = ::Logger::WARN
          logger.progname = 'sqreen-ecosystem'
          self.fetch_logger = proc { logger }
        end
      end

      reset
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sqreen-1.25.1 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.25.0 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.24.3 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.24.2 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.24.1 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.24.0 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.23.2 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.23.1 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.23.0 lib/sqreen/ecosystem/dispatch_table.rb
sqreen-1.22.1 lib/sqreen/ecosystem/dispatch_table.rb