Sha256: 65272a341e252c41da4adb8a277af8f7f5aa969ea22abc8e3e5daedc3e4c7c22

Contents?: true

Size: 1003 Bytes

Versions: 20

Compression:

Stored size: 1003 Bytes

Contents

require 'aws-xray-sdk/facets/rack'
require 'aws-xray-sdk/facets/rails/ex_middleware'

module GovukXRay
  def self.initialize(app)
    app.middleware.insert 0, XRay::Rack::Middleware
    app.middleware.use XRay::Rails::ExceptionMiddleware
  end

  def self.start
    # patching 'aws_sdk' seem to impose a large memory overhead, so
    # don't do that by default
    patch = ENV.has_key?('XRAY_PATCH_AWS_SDK') ?
               %I[aws_sdk net_http] : %I[net_http]

    # if there isn't a name set, attempting to record a segment will
    # throw an error
    govuk_app_name = ENV['GOVUK_APP_NAME']
    name = govuk_app_name.blank? ? 'xray' : govuk_app_name

    XRay.recorder.configure(
      name: name,
      patch: patch,
      context_missing: 'LOG_ERROR',
      sampling_rules: {
        version: 1,
        default: {
          'fixed_target': ENV.fetch('XRAY_SAMPLE_TARGET', 0).to_i,
          'rate': ENV.fetch('XRAY_SAMPLE_RATE', 0.01).to_f,
        },
        rules: [],
      },
    )
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
govuk_app_config-1.20.2 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.20.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.20.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.19.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.18.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.17.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.16.3 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.16.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.16.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.15.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.15.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.14.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.13.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.13.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.12.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.11.3 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.11.2 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.11.1 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.11.0 lib/govuk_app_config/govuk_xray.rb
govuk_app_config-1.10.0 lib/govuk_app_config/govuk_xray.rb