Class: Trace::RabbitMqPublisher

Inherits:
Object
  • Object
show all
Includes:
SuckerPunch::Job
Defined in:
lib/zipkin-tracer/zipkin_rabbit_mq_sender.rb

Instance Method Summary collapse

Instance Method Details

#perform(exchange, routing_key, spans) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# 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