Sha256: 68c32e4b6fd11f77319a4d5623b00de6cb0c54d8e21435fd90021066c34cde48

Contents?: true

Size: 682 Bytes

Versions: 4

Compression:

Stored size: 682 Bytes

Contents

# frozen_string_literal: true

require_relative './udp_sender/transport'
require 'socket'
require 'thread'

module Jaeger
  module Client
    class UdpSender
      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

      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
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jaeger-client-0.9.0 lib/jaeger/client/udp_sender.rb
jaeger-client-0.8.0 lib/jaeger/client/udp_sender.rb
jaeger-client-0.7.1 lib/jaeger/client/udp_sender.rb
jaeger-client-0.7.0 lib/jaeger/client/udp_sender.rb