class Jaeger::UdpSender
Public Class Methods
new(host:, port:, encoder:, logger:, max_packet_size: 65_000)
click to toggle source
# File lib/jaeger/udp_sender.rb, line 8 def initialize(host:, port:, encoder:, logger:, max_packet_size: 65_000) @encoder = encoder @logger = logger transport = Transport.new(host, port) @protocol_class = ::Thrift::CompactProtocol protocol = @protocol_class.new(transport) @client = Jaeger::Thrift::Agent::Client.new(protocol) @max_packet_size = max_packet_size end
Public Instance Methods
send_spans(spans)
click to toggle source
# File lib/jaeger/udp_sender.rb, line 19 def send_spans(spans) batches = @encoder.encode_limited_size(spans, @protocol_class, @max_packet_size) batches.each { |batch| @client.emitBatch(batch) } rescue StandardError => error @logger.error("Failure while sending a batch of spans: #{error}") end