Method: Trace::ZipkinKafkaSender#flush!
- Defined in:
- lib/zipkin-tracer/zipkin_kafka_sender.rb
#flush! ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/zipkin-tracer/zipkin_kafka_sender.rb', line 32 def flush! resolved_spans = ::ZipkinTracer::HostnameResolver.new.spans_with_ips(spans, IP_FORMAT) resolved_spans.each do |span| buf = '' trans = Thrift::MemoryBufferTransport.new(buf) oprot = Thrift::BinaryProtocol.new(trans) span.to_thrift.write(oprot) retval = @producer.push(buf, topic: @topic) # If @producer#push returns a promise/promise-like object, block until it # resolves retval.value! if retval.respond_to?(:value!) retval end rescue Exception # Ignore socket errors, etc end |