Module: Bigcommerce::Lightstep

Extended by:
Configuration
Defined in:
lib/bigcommerce/lightstep.rb,
lib/bigcommerce/lightstep/rspec.rb,
lib/bigcommerce/lightstep/errors.rb,
lib/bigcommerce/lightstep/tracer.rb,
lib/bigcommerce/lightstep/version.rb,
lib/bigcommerce/lightstep/traceable.rb,
lib/bigcommerce/lightstep/transport.rb,
lib/bigcommerce/lightstep/redis/tracer.rb,
lib/bigcommerce/lightstep/configuration.rb,
lib/bigcommerce/lightstep/redis/wrapper.rb,
lib/bigcommerce/lightstep/interceptors/env.rb,
lib/bigcommerce/lightstep/interceptors/base.rb,
lib/bigcommerce/lightstep/transport_factory.rb,
lib/bigcommerce/lightstep/middleware/faraday.rb,
lib/bigcommerce/lightstep/active_record/tracer.rb,
lib/bigcommerce/lightstep/interceptors/context.rb,
lib/bigcommerce/lightstep/active_record/adapter.rb,
lib/bigcommerce/lightstep/interceptors/registry.rb,
lib/bigcommerce/lightstep/rails_controller_instrumentation.rb

Overview

Lightstep module

Defined Under Namespace

Modules: ActiveRecord, Configuration, Errors, Interceptors, Middleware, RailsControllerInstrumentation, Redis, RspecHelpers, Traceable Classes: Tracer, Transport, TransportFactory

Constant Summary collapse

VERSION =
'2.6.0'

Constants included from Configuration

Configuration::VALID_CONFIG_KEYS

Class Method Summary collapse

Methods included from Configuration

configure, configured?, environment, extended, options, release, reset

Class Method Details

.start(component_name: nil, transport_factory: nil) ⇒ Object

Start the global tracer and configure LightStep

Parameters:



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/bigcommerce/lightstep.rb', line 48

def self.start(component_name: nil, transport_factory: nil)
  component_name ||= ::Bigcommerce::Lightstep.component_name
  transport_factory ||= ::Bigcommerce::Lightstep::TransportFactory.new
  ::LightStep.logger = logger
  tags = {}
  tags['service.version'] = ::Bigcommerce::Lightstep.release unless ::Bigcommerce::Lightstep.release.empty?
  ::LightStep.configure(
    component_name: component_name,
    transport: transport_factory.build,
    tags: tags
  )
  ::LightStep.instance.max_span_records = ::Bigcommerce::Lightstep.max_buffered_spans
  ::LightStep.instance.max_log_records = ::Bigcommerce::Lightstep.max_log_records
  ::LightStep.instance.report_period_seconds = ::Bigcommerce::Lightstep.max_reporting_interval_seconds

  return unless ::Bigcommerce::Lightstep.enabled

  ::Bigcommerce::Lightstep::Redis::Wrapper.patch
  ::Bigcommerce::Lightstep::ActiveRecord::Adapter.patch
end