class Trace::RabbitMqPublisher

Public Instance Methods

perform(exchange, routing_key, spans) click to toggle source
# File lib/zipkin-tracer/zipkin_rabbit_mq_sender.rb, line 10
def perform(exchange, routing_key, spans)
  spans_with_ips = ::ZipkinTracer::HostnameResolver.new
    .spans_with_ips(spans, ZipkinRabbitMqSender::IP_FORMAT)
    .map(&:to_h)

  message = JSON.generate(spans_with_ips)

  exchange.publish(message, routing_key: routing_key)
rescue => e
  SuckerPunch.logger.error(e)
end