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 2018/08/01 08:47:43 UTC
[camel] branch master updated: CAMEL-12656: Fixed root span id for
multiple routes. (#2448)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 83e8d12 CAMEL-12656: Fixed root span id for multiple routes. (#2448)
83e8d12 is described below
commit 83e8d1285d14998d9b58fa2abf358ca5769c8606
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 1 10:43:45 2018 +0200
CAMEL-12656: Fixed root span id for multiple routes. (#2448)
---
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 29 ++++++++--------------
1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
index 41e1a97..2513f36 100644
--- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
+++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
@@ -32,7 +32,6 @@ import brave.propagation.TraceContext;
import brave.propagation.TraceContext.Extractor;
import brave.propagation.TraceContext.Injector;
import brave.sampler.Sampler;
-
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
@@ -55,7 +54,6 @@ import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.support.EventNotifierSupport;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.support.SynchronizationAdapter;
import org.apache.camel.util.EndpointHelper;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
@@ -743,24 +741,17 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
serverRequest(brave, serviceName, exchange);
}
}
+ }
- // add on completion after the route is done, but before the consumer writes the response
- // this allows us to track the zipkin event before returning the response which is the right time
- exchange.addOnCompletion(new SynchronizationAdapter() {
- @Override
- public void onAfterRoute(Route route, Exchange exchange) {
- String serviceName = getServiceName(exchange, route.getEndpoint(), true, false);
- Tracing brave = getTracing(serviceName);
- if (brave != null) {
- serverResponse(brave, serviceName, exchange);
- }
- }
-
- @Override
- public String toString() {
- return "ZipkinTracerOnCompletion[" + routeId + "]";
- }
- });
+ // Report Server send after route has completed processing of the exchange.
+ @Override
+ public void onExchangeDone(Route route, Exchange exchange) {
+ String serviceName = getServiceName(exchange, route.getEndpoint(), true, false);
+ Tracing brave = getTracing(serviceName);
+ if (brave != null) {
+ serverResponse(brave, serviceName, exchange);
+ }
}
}
+
}