You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/04/13 11:02:57 UTC

[1/2] camel git commit: OpenTracing: Change error to warn based on review comment

Repository: camel
Updated Branches:
  refs/heads/master e269e10d4 -> e1d89ddbf


OpenTracing: Change error to warn based on review comment


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e1d89ddb
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e1d89ddb
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e1d89ddb

Branch: refs/heads/master
Commit: e1d89ddbf6028369fd3117ff648fc6f16a1786fe
Parents: b5bdecd
Author: Gary Brown <ga...@brownuk.com>
Authored: Thu Apr 13 11:51:18 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Apr 13 13:02:50 2017 +0200

----------------------------------------------------------------------
 .../org/apache/camel/opentracing/OpenTracingTracer.java | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e1d89ddb/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
----------------------------------------------------------------------
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
index f3d15d4..3ae9fc1 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
@@ -242,7 +242,8 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
                     managedSpan.deactivate();
                 }
             } catch (Throwable t) {
-                LOG.error("OpenTracing: Failed to capture tracing data", t);
+                // This exception is ignored
+                LOG.warn("OpenTracing: Failed to capture tracing data", t);
             }
         }
 
@@ -283,7 +284,8 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
                     LOG.trace("OpenTracing: start server span=" + span);
                 }
             } catch (Throwable t) {
-                LOG.error("OpenTracing: Failed to capture tracing data", t);
+                // This exception is ignored
+                LOG.warn("OpenTracing: Failed to capture tracing data", t);
             }
         }
 
@@ -303,7 +305,8 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
                     LOG.warn("OpenTracing: could not find managed span for exchange=" + exchange);
                 }
             } catch (Throwable t) {
-                LOG.error("OpenTracing: Failed to capture tracing data", t);
+                // This exception is ignored
+                LOG.warn("OpenTracing: Failed to capture tracing data", t);
             }
         }
     }
@@ -327,7 +330,8 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
                     span.log(fields);
                 }
             } catch (Throwable t) {
-                LOG.error("OpenTracing: Failed to capture tracing data", t);
+                // This exception is ignored
+                LOG.warn("OpenTracing: Failed to capture tracing data", t);
             }
             return message;
         }


[2/2] camel git commit: Prevent OpenTracing tracer exceptions interrupting execution of route

Posted by da...@apache.org.
Prevent OpenTracing tracer exceptions interrupting execution of route


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b5bdecd3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b5bdecd3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b5bdecd3

Branch: refs/heads/master
Commit: b5bdecd350ec54128fb0ea18690fd880d817712c
Parents: e269e10
Author: Gary Brown <ga...@brownuk.com>
Authored: Thu Apr 13 11:20:27 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Apr 13 13:02:50 2017 +0200

----------------------------------------------------------------------
 .../camel/opentracing/OpenTracingTracer.java    | 172 ++++++++++---------
 1 file changed, 94 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b5bdecd3/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
----------------------------------------------------------------------
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
index e1a130f..f3d15d4 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
@@ -197,48 +197,52 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
 
         @Override
         public void notify(EventObject event) throws Exception {
-            if (event instanceof ExchangeSendingEvent) {
-                ExchangeSendingEvent ese = (ExchangeSendingEvent) event;
-                SpanManager.ManagedSpan parent = spanManager.current();
-                SpanDecorator sd = getSpanDecorator(ese.getEndpoint());
-                if (!sd.newSpan()) {
-                    return;
-                }
-                SpanBuilder spanBuilder = tracer.buildSpan(sd.getOperationName(ese.getExchange(), ese.getEndpoint()))
-                    .withTag(Tags.SPAN_KIND.getKey(), sd.getInitiatorSpanKind());
-                // Temporary workaround to avoid adding 'null' span as a parent
-                if (parent != null && parent.getSpan() != null) {
-                    spanBuilder.asChildOf(parent.getSpan());
-                }
-                Span span = spanBuilder.start();
-                sd.pre(span, ese.getExchange(), ese.getEndpoint());
-                tracer.inject(span.context(), Format.Builtin.TEXT_MAP,
-                    new CamelHeadersInjectAdapter(ese.getExchange().getIn().getHeaders()));
-                ese.getExchange().setProperty(MANAGED_SPAN_PROPERTY, spanManager.activate(span));
-                spanManager.clear();
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("OpenTracing: start client span=" + span);
-                }
-            } else if (event instanceof ExchangeSentEvent) {
-                ExchangeSentEvent ese = (ExchangeSentEvent) event;
-                SpanDecorator sd = getSpanDecorator(ese.getEndpoint());
-                if (!sd.newSpan()) {
-                    return;
-                }
-                SpanManager.ManagedSpan managedSpan = (SpanManager.ManagedSpan)
-                        ese.getExchange().getProperty(MANAGED_SPAN_PROPERTY);
-                if (managedSpan != null) {
-                    spanManager.activate(managedSpan);
-                    ese.getExchange().setProperty(MANAGED_SPAN_PROPERTY, null);
-                } else {
-                    managedSpan = spanManager.current();
-                }
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("OpenTracing: start client span=" + managedSpan.getSpan());
+            try {
+                if (event instanceof ExchangeSendingEvent) {
+                    ExchangeSendingEvent ese = (ExchangeSendingEvent) event;
+                    SpanManager.ManagedSpan parent = spanManager.current();
+                    SpanDecorator sd = getSpanDecorator(ese.getEndpoint());
+                    if (!sd.newSpan()) {
+                        return;
+                    }
+                    SpanBuilder spanBuilder = tracer.buildSpan(sd.getOperationName(ese.getExchange(), ese.getEndpoint()))
+                        .withTag(Tags.SPAN_KIND.getKey(), sd.getInitiatorSpanKind());
+                    // Temporary workaround to avoid adding 'null' span as a parent
+                    if (parent != null && parent.getSpan() != null) {
+                        spanBuilder.asChildOf(parent.getSpan());
+                    }
+                    Span span = spanBuilder.start();
+                    sd.pre(span, ese.getExchange(), ese.getEndpoint());
+                    tracer.inject(span.context(), Format.Builtin.TEXT_MAP,
+                        new CamelHeadersInjectAdapter(ese.getExchange().getIn().getHeaders()));
+                    ese.getExchange().setProperty(MANAGED_SPAN_PROPERTY, spanManager.activate(span));
+                    spanManager.clear();
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace("OpenTracing: start client span=" + span);
+                    }
+                } else if (event instanceof ExchangeSentEvent) {
+                    ExchangeSentEvent ese = (ExchangeSentEvent) event;
+                    SpanDecorator sd = getSpanDecorator(ese.getEndpoint());
+                    if (!sd.newSpan()) {
+                        return;
+                    }
+                    SpanManager.ManagedSpan managedSpan = (SpanManager.ManagedSpan)
+                            ese.getExchange().getProperty(MANAGED_SPAN_PROPERTY);
+                    if (managedSpan != null) {
+                        spanManager.activate(managedSpan);
+                        ese.getExchange().setProperty(MANAGED_SPAN_PROPERTY, null);
+                    } else {
+                        managedSpan = spanManager.current();
+                    }
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace("OpenTracing: start client span=" + managedSpan.getSpan());
+                    }
+                    sd.post(managedSpan.getSpan(), ese.getExchange(), ese.getEndpoint());
+                    managedSpan.getSpan().finish();
+                    managedSpan.deactivate();
                 }
-                sd.post(managedSpan.getSpan(), ese.getExchange(), ese.getEndpoint());
-                managedSpan.getSpan().finish();
-                managedSpan.deactivate();
+            } catch (Throwable t) {
+                LOG.error("OpenTracing: Failed to capture tracing data", t);
             }
         }
 
@@ -261,37 +265,45 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
 
         @Override
         public void onExchangeBegin(Route route, Exchange exchange) {
-            // Check if continuing exchange on same thread
-            if (exchange.getProperties().containsKey(MANAGED_SPAN_PROPERTY)) {
-                spanManager.activate((SpanManager.ManagedSpan)exchange.getProperty(MANAGED_SPAN_PROPERTY));
-                exchange.setProperty(MANAGED_SPAN_PROPERTY, null);
-            }
-            SpanDecorator sd = getSpanDecorator(route.getEndpoint());
-            Span span = tracer.buildSpan(sd.getOperationName(exchange, route.getEndpoint()))
-                .asChildOf(tracer.extract(Format.Builtin.TEXT_MAP,
-                    new CamelHeadersExtractAdapter(exchange.getIn().getHeaders())))
-                .withTag(Tags.SPAN_KIND.getKey(), sd.getReceiverSpanKind())
-                .start();
-            sd.pre(span, exchange, route.getEndpoint());
-            spanManager.activate(span);
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("OpenTracing: start server span=" + span);
+            try {
+                // Check if continuing exchange on same thread
+                if (exchange.getProperties().containsKey(MANAGED_SPAN_PROPERTY)) {
+                    spanManager.activate((SpanManager.ManagedSpan)exchange.getProperty(MANAGED_SPAN_PROPERTY));
+                    exchange.setProperty(MANAGED_SPAN_PROPERTY, null);
+                }
+                SpanDecorator sd = getSpanDecorator(route.getEndpoint());
+                Span span = tracer.buildSpan(sd.getOperationName(exchange, route.getEndpoint()))
+                    .asChildOf(tracer.extract(Format.Builtin.TEXT_MAP,
+                        new CamelHeadersExtractAdapter(exchange.getIn().getHeaders())))
+                    .withTag(Tags.SPAN_KIND.getKey(), sd.getReceiverSpanKind())
+                    .start();
+                sd.pre(span, exchange, route.getEndpoint());
+                spanManager.activate(span);
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("OpenTracing: start server span=" + span);
+                }
+            } catch (Throwable t) {
+                LOG.error("OpenTracing: Failed to capture tracing data", t);
             }
         }
 
         @Override
         public void onExchangeDone(Route route, Exchange exchange) {
-            SpanManager.ManagedSpan managedSpan = spanManager.current();
-            if (managedSpan.getSpan() != null) {
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("OpenTracing: finish server span=" + managedSpan.getSpan());
+            try {
+                SpanManager.ManagedSpan managedSpan = spanManager.current();
+                if (managedSpan.getSpan() != null) {
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace("OpenTracing: finish server span=" + managedSpan.getSpan());
+                    }
+                    SpanDecorator sd = getSpanDecorator(route.getEndpoint());
+                    sd.post(managedSpan.getSpan(), exchange, route.getEndpoint());
+                    managedSpan.getSpan().finish();
+                    managedSpan.deactivate();
+                } else {
+                    LOG.warn("OpenTracing: could not find managed span for exchange=" + exchange);
                 }
-                SpanDecorator sd = getSpanDecorator(route.getEndpoint());
-                sd.post(managedSpan.getSpan(), exchange, route.getEndpoint());
-                managedSpan.getSpan().finish();
-                managedSpan.deactivate();
-            } else {
-                LOG.warn("OpenTracing: could not find managed span for exchange=" + exchange);
+            } catch (Throwable t) {
+                LOG.error("OpenTracing: Failed to capture tracing data", t);
             }
         }
     }
@@ -300,18 +312,22 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
 
         @Override
         public String onLog(Exchange exchange, CamelLogger camelLogger, String message) {
-            SpanManager.ManagedSpan managedSpan = (SpanManager.ManagedSpan)
-                    exchange.getProperty(MANAGED_SPAN_PROPERTY);
-            Span span = null;
-            if (managedSpan != null) {
-                span = managedSpan.getSpan();
-            } else {
-                span = spanManager.current().getSpan();
-            }
-            if (span != null) {
-                Map<String, Object> fields = new HashMap<>();
-                fields.put("message", message);
-                span.log(fields);
+            try {
+                SpanManager.ManagedSpan managedSpan = (SpanManager.ManagedSpan)
+                        exchange.getProperty(MANAGED_SPAN_PROPERTY);
+                Span span = null;
+                if (managedSpan != null) {
+                    span = managedSpan.getSpan();
+                } else {
+                    span = spanManager.current().getSpan();
+                }
+                if (span != null) {
+                    Map<String, Object> fields = new HashMap<>();
+                    fields.put("message", message);
+                    span.log(fields);
+                }
+            } catch (Throwable t) {
+                LOG.error("OpenTracing: Failed to capture tracing data", t);
             }
             return message;
         }