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;
}