module Jaeger::Client

Constants

DEFAULT_FLUSH_INTERVAL
Encoders
Extractors
HttpSender
Injectors
Reporters
Samplers
UdpSender

We initially had everything under Jaeger::Client namespace. This however was not very useful and was removed. These assignments are here for backwards compatibility. Fine to remove in the next major version.

VERSION

Public Class Methods

build(host: '127.0.0.1', port: 6831, service_name:, flush_interval: DEFAULT_FLUSH_INTERVAL, sampler: Samplers::Const.new(true), logger: Logger.new(STDOUT), sender: nil, reporter: nil, injectors: {}, extractors: {}, tags: {}) click to toggle source
# File lib/jaeger/client.rb, line 46
def self.build(host: '127.0.0.1',
               port: 6831,
               service_name:,
               flush_interval: DEFAULT_FLUSH_INTERVAL,
               sampler: Samplers::Const.new(true),
               logger: Logger.new(STDOUT),
               sender: nil,
               reporter: nil,
               injectors: {},
               extractors: {},
               tags: {})
  encoder = Encoders::ThriftEncoder.new(service_name: service_name, tags: tags)

  if sender
    warn '[DEPRECATION] Passing `sender` directly to Jaeger::Client.build is deprecated.' \
      'Please use `reporter` instead.'
  end

  reporter ||= Reporters::RemoteReporter.new(
    sender: sender || UdpSender.new(host: host, port: port, encoder: encoder, logger: logger),
    flush_interval: flush_interval
  )

  Tracer.new(
    reporter: reporter,
    sampler: sampler,
    injectors: Injectors.prepare(injectors),
    extractors: Extractors.prepare(extractors)
  )
end