Sha256: d43300c21f5f992bbc9165ea7ad79bc787296eccdd06e92a4524a7e452b6f424

Contents?: true

Size: 1.24 KB

Versions: 3

Compression:

Stored size: 1.24 KB

Contents

require 'ddtrace/registry'
require 'ddtrace/pin'
require 'ddtrace/tracer'
require 'ddtrace/error'
require 'ddtrace/pipeline'
require 'ddtrace/configuration'

# \Datadog global namespace that includes all tracing functionality for Tracer and Span classes.
module Datadog
  @tracer = Tracer.new
  @registry = Registry.new

  # Default tracer that can be used as soon as +ddtrace+ is required:
  #
  #   require 'ddtrace'
  #
  #   span = Datadog.tracer.trace('web.request')
  #   span.finish()
  #
  # If you want to override the default tracer, the recommended way
  # is to "pin" your own tracer onto your traced component:
  #
  #   tracer = Datadog::Tracer.new
  #   pin = Datadog::Pin.get_from(mypatchcomponent)
  #   pin.tracer = tracer

  def self.tracer
    @tracer
  end

  def self.registry
    @registry
  end

  class << self
    attr_writer :configuration

    def configuration
      @configuration ||= Configuration.new
    end

    def configure
      yield(configuration)
    end
  end
end

# Monkey currently is responsible for loading all contributions, which in turn
# rely on the registry defined above. We should make our code less dependent on
# the load order, by letting things be lazily loaded while keeping
# thread-safety.
require 'ddtrace/monkey'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ddtrace-0.11.0.beta2 lib/ddtrace.rb
ddtrace-0.11.0.beta1 lib/ddtrace.rb
ddtrace-0.10.0 lib/ddtrace.rb