Sha256: 14265b3bf8083ef711c71bbcf725e9578865b341665b3ae4e5c1b137c7c335f0

Contents?: true

Size: 1.19 KB

Versions: 10

Compression:

Stored size: 1.19 KB

Contents

# Copyright (c) 2013 AppNeta, Inc.
# All rights reserved.

module Oboe
  module API
    ##
    # Provides methods related to layer initialization and reporting
    module LayerInit
      # Internal: Report that instrumentation for the given layer has been
      # installed, as well as the version of instrumentation and version of
      # layer.
      #
      def report_init(layer = 'rack')
        # Don't send __Init in development or test
        return if %w(development test).include? ENV['RACK_ENV']

        # Don't send __Init if the c-extension hasn't loaded
        return unless Oboe.loaded

        platform_info = Oboe::Util.build_init_report
        start_trace(layer, nil, platform_info.merge('Force' => true)) {}
      end

      ##
      # force_trace has been deprecated and will be removed in a subsequent version.
      #
      def force_trace
        Oboe.logger.warn 'Oboe::API::LayerInit.force_trace has been deprecated and will be ' \
                         'removed in a subsequent version.'

        saved_mode = Oboe::Config[:tracing_mode]
        Oboe::Config[:tracing_mode] = 'always'
        yield
      ensure
        Oboe::Config[:tracing_mode] = saved_mode
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
oboe-2.7.5.1-java lib/oboe/api/layerinit.rb
oboe-2.7.5.1 lib/oboe/api/layerinit.rb
oboe-2.7.5.wolf3 lib/oboe/api/layerinit.rb
oboe-2.7.5.wolf3-java lib/oboe/api/layerinit.rb
oboe-2.7.5.wolf1 lib/oboe/api/layerinit.rb
oboe-2.7.5.wolf1-java lib/oboe/api/layerinit.rb
oboe-2.7.4.1-java lib/oboe/api/layerinit.rb
oboe-2.7.4.1 lib/oboe/api/layerinit.rb
oboe-2.7.3.1-java lib/oboe/api/layerinit.rb
oboe-2.7.3.1 lib/oboe/api/layerinit.rb