opentracing-contrib / java-spring-rabbitmq

OpenTracing RabbitMQ instrumentation
Apache License 2.0
18 stars 21 forks source link

Async{Amqp,Rabbit}Template not covered #55

Open pschichtel opened 4 years ago

pschichtel commented 4 years ago

Currently the Async* variants of the templates are not covered by this integration.

I worked around this using this:

private fun traceMessage(exchange: Exchange, routingKey: String, message: Message): Message {
    val traceHelper = RabbitMqSendTracingHelper(tracer, messageConverter, rabbitMqSpanDecorator)
    return traceHelper.doWithTracingHeadersMessage(exchange.name, routingKey, message, ::identity)
}

and then

val listenable = asyncTemplate.convertSendAndReceive<ResponseType>(exchange.name, routingKey, message) {
    traceMessage(exchange, routingKey, it)
}