Class: Trace::ZipkinLoggerSender

Inherits:
ZipkinSenderBase show all
Defined in:
lib/zipkin-tracer/zipkin_logger_sender.rb

Constant Summary collapse

TRACING_KEY =
'Tracing information'
IP_FORMAT =
:string

Instance Method Summary collapse

Methods inherited from ZipkinSenderBase

#end_span, #skip_flush?, #start_span, #with_new_span

Constructor Details

#initialize(options) ⇒ ZipkinLoggerSender

Returns a new instance of ZipkinLoggerSender.



10
11
12
13
14
# File 'lib/zipkin-tracer/zipkin_logger_sender.rb', line 10

def initialize(options)
  @logger = options[:logger]
  @logger_accepts_data = @logger.respond_to?(:info_with_data)
  super(options)
end

Instance Method Details

#flush!Object



16
17
18
19
20
21
22
23
# File 'lib/zipkin-tracer/zipkin_logger_sender.rb', line 16

def flush!
  formatted_spans = ::ZipkinTracer::HostnameResolver.new.spans_with_ips(spans, IP_FORMAT).map(&:to_h)
  if @logger_accepts_data
    @logger.info_with_data(TRACING_KEY, formatted_spans)
  else
    @logger.info({ TRACING_KEY => formatted_spans }.to_json)
  end
end