Search in sources :

Example 16 with SpanInScope

use of brave.Tracer.SpanInScope in project brave by openzipkin.

the class TracingMessageProducer method publish.

@Override
public void publish(Topic topic, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
    checkTopicPublisher();
    TopicPublisher tp = (TopicPublisher) delegate;
    Span span = createAndStartProducerSpan(message, destination(message));
    SpanInScope ws = tracer.withSpanInScope(span);
    Throwable error = null;
    try {
        tp.publish(topic, message, deliveryMode, priority, timeToLive);
    } catch (Throwable t) {
        propagateIfFatal(t);
        error = t;
        throw t;
    } finally {
        if (error != null)
            span.error(error);
        span.finish();
        ws.close();
    }
}
Also used : SpanInScope(brave.Tracer.SpanInScope) TopicPublisher(javax.jms.TopicPublisher) Span(brave.Span)

Example 17 with SpanInScope

use of brave.Tracer.SpanInScope in project brave by openzipkin.

the class TracingMessageProducer method publish.

@Override
public void publish(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
    checkTopicPublisher();
    TopicPublisher tp = (TopicPublisher) delegate;
    Span span = createAndStartProducerSpan(message, destination(message));
    SpanInScope ws = tracer.withSpanInScope(span);
    Throwable error = null;
    try {
        tp.publish(message, deliveryMode, priority, timeToLive);
    } catch (Throwable t) {
        propagateIfFatal(t);
        error = t;
        throw t;
    } finally {
        if (error != null)
            span.error(error);
        span.finish();
        ws.close();
    }
}
Also used : SpanInScope(brave.Tracer.SpanInScope) TopicPublisher(javax.jms.TopicPublisher) Span(brave.Span)

Example 18 with SpanInScope

use of brave.Tracer.SpanInScope in project brave by openzipkin.

the class TracingMessageProducer method send.

@Override
public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
    checkQueueSender();
    QueueSender qs = (QueueSender) delegate;
    Span span = createAndStartProducerSpan(message, destination(message));
    SpanInScope ws = tracer.withSpanInScope(span);
    Throwable error = null;
    try {
        qs.send(queue, message, deliveryMode, priority, timeToLive);
    } catch (Throwable t) {
        propagateIfFatal(t);
        error = t;
        throw t;
    } finally {
        if (error != null)
            span.error(error);
        span.finish();
        ws.close();
    }
}
Also used : QueueSender(javax.jms.QueueSender) SpanInScope(brave.Tracer.SpanInScope) Span(brave.Span)

Example 19 with SpanInScope

use of brave.Tracer.SpanInScope in project brave by openzipkin.

the class TracingMessageProducer method send.

/* @Override JMS 2.0 method: Intentionally no override to ensure JMS 1.1 works! */
@JMS2_0
public void send(Destination destination, Message message, CompletionListener completionListener) throws JMSException {
    Span span = createAndStartProducerSpan(message, destination);
    completionListener = TracingCompletionListener.create(completionListener, destination, span, current);
    SpanInScope ws = tracer.withSpanInScope(span);
    Throwable error = null;
    try {
        delegate.send(destination, message, completionListener);
    } catch (Throwable t) {
        propagateIfFatal(t);
        error = t;
        throw t;
    } finally {
        if (error != null)
            span.error(error).finish();
        ws.close();
    }
}
Also used : SpanInScope(brave.Tracer.SpanInScope) Span(brave.Span)

Example 20 with SpanInScope

use of brave.Tracer.SpanInScope in project brave by openzipkin.

the class TracingMessageProducer method send.

@Override
public void send(Message message) throws JMSException {
    Span span = createAndStartProducerSpan(message, destination(message));
    SpanInScope ws = tracer.withSpanInScope(span);
    Throwable error = null;
    try {
        delegate.send(message);
    } catch (Throwable t) {
        propagateIfFatal(t);
        error = t;
        throw t;
    } finally {
        if (error != null)
            span.error(error);
        span.finish();
        ws.close();
    }
}
Also used : SpanInScope(brave.Tracer.SpanInScope) Span(brave.Span)

Aggregations

SpanInScope (brave.Tracer.SpanInScope)55 Span (brave.Span)34 Test (org.junit.Test)23 MutableSpan (brave.handler.MutableSpan)13 MockResponse (okhttp3.mockwebserver.MockResponse)4 Tracer (brave.Tracer)3 TopicPublisher (javax.jms.TopicPublisher)3 TraceContextOrSamplingFlags (brave.propagation.TraceContextOrSamplingFlags)2 RequestContext (com.netflix.zuul.context.RequestContext)2 Map (java.util.Map)2 CompletableFuture (java.util.concurrent.CompletableFuture)2 CyclicBarrier (java.util.concurrent.CyclicBarrier)2 Destination (javax.jms.Destination)2 Response (javax.ws.rs.core.Response)2 WebClient (org.apache.cxf.jaxrs.client.WebClient)2 HasSpan.hasSpan (org.apache.cxf.systest.jaxrs.tracing.brave.HasSpan.hasSpan)2 Request (org.apache.cxf.tracing.brave.internal.HttpAdapterFactory.Request)2 BraveClientProvider (org.apache.cxf.tracing.brave.jaxrs.BraveClientProvider)2 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)2 Tracing (brave.Tracing)1