Class: Jaeger::Client::UdpSender

Inherits:
Object
  • Object
show all
Defined in:
lib/jaeger/client/udp_sender.rb,
lib/jaeger/client/udp_sender/transport.rb

Defined Under Namespace

Classes: Transport

Instance Method Summary collapse

Constructor Details

#initialize(host:, port:, encoder:, logger:) ⇒ UdpSender

Returns a new instance of UdpSender.



10
11
12
13
14
15
16
17
# File 'lib/jaeger/client/udp_sender.rb', line 10

def initialize(host:, port:, encoder:, logger:)
  @encoder = encoder
  @logger = logger

  transport = Transport.new(host, port)
  protocol = ::Thrift::CompactProtocol.new(transport)
  @client = Jaeger::Thrift::Agent::Client.new(protocol)
end

Instance Method Details

#send_spans(spans) ⇒ Object



19
20
21
22
23
24
# File 'lib/jaeger/client/udp_sender.rb', line 19

def send_spans(spans)
  batch = @encoder.encode(spans)
  @client.emitBatch(batch)
rescue StandardError => error
  @logger.error("Failure while sending a batch of spans: #{error}")
end