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 86626d7  revert CAMEL-15710 (#4747)
86626d7 is described below

commit 86626d7dc806363c77155d0ab9cc80161c6b9f80
Author: Jose Montoya <[email protected]>
AuthorDate: Thu Dec 10 01:47:53 2020 -0600

    revert CAMEL-15710 (#4747)
---
 components/camel-opentracing/src/main/docs/opentracing.adoc    |  5 +++++
 .../org/apache/camel/opentracing/OpenTracingSpanAdapter.java   | 10 +---------
 .../java/org/apache/camel/opentracing/OpenTracingTracer.java   |  7 ++-----
 .../apache/camel/opentracing/OpenTracingTracingStrategy.java   |  8 ++++----
 .../opentracing/ThirdPartyInstrumentationIntegrationTest.java  |  8 ++++----
 5 files changed, 16 insertions(+), 22 deletions(-)

diff --git a/components/camel-opentracing/src/main/docs/opentracing.adoc 
b/components/camel-opentracing/src/main/docs/opentracing.adoc
index 9d659ea..8336d12 100644
--- a/components/camel-opentracing/src/main/docs/opentracing.adoc
+++ b/components/camel-opentracing/src/main/docs/opentracing.adoc
@@ -30,6 +30,11 @@ messages that matches the pattern. The content is a 
Set<String> where the key is
 uses the rules from Intercept.
 |encoding |false| Sets whether the header keys need to be encoded (connector 
specific) or not. The value is a boolean.
 Dashes need for instances to be encoded for JMS property keys.
+|setTracingStrategy | NoopTracingStrategy | Allows a custom Camel 
`InterceptStrategy` to be provided in order to
+augment the default Spans with data from each processor in a route. 
`OpenTracingTracingStrategy` will create spans for each
+processor, except for Camel log and OpenTracing processors, and activate a 
Scope in order to enable third-party instrumentation
+in processors through the default ScopeManager. Processor spans can be 
excluded through the exludePatterns set, these
+will be matched using the processor's ID.
 
 |=======================================================================
 
diff --git 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingSpanAdapter.java
 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingSpanAdapter.java
index 46c0205..0e3d399 100644
--- 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingSpanAdapter.java
+++ 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingSpanAdapter.java
@@ -19,8 +19,6 @@ package org.apache.camel.opentracing;
 import java.util.EnumMap;
 import java.util.Map;
 
-import io.opentracing.Scope;
-import io.opentracing.Span;
 import io.opentracing.tag.AbstractTag;
 import io.opentracing.tag.Tags;
 import org.apache.camel.tracing.SpanAdapter;
@@ -43,21 +41,15 @@ public class OpenTracingSpanAdapter implements SpanAdapter {
     }
 
     private io.opentracing.Span span;
-    private Scope scope;
 
-    OpenTracingSpanAdapter(Span span, Scope scope) {
+    OpenTracingSpanAdapter(io.opentracing.Span span) {
         this.span = span;
-        this.scope = scope;
     }
 
     public io.opentracing.Span getOpenTracingSpan() {
         return this.span;
     }
 
-    public Scope getOpenTracingScope() {
-        return scope;
-    }
-
     @Override
     public void setComponent(String component) {
         span.setTag(Tags.COMPONENT.getKey(), component);
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 02c4d13..6311c39 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
@@ -104,8 +104,7 @@ public class OpenTracingTracer extends 
org.apache.camel.tracing.Tracer {
             io.opentracing.Span parentSpan = ((OpenTracingSpanAdapter) 
parent).getOpenTracingSpan();
             spanBuilder.asChildOf(parentSpan);
         }
-        Span span = spanBuilder.start();
-        return new OpenTracingSpanAdapter(span, 
tracer.scopeManager().activate(span, false));
+        return new OpenTracingSpanAdapter(spanBuilder.start());
     }
 
     @Override
@@ -131,8 +130,7 @@ public class OpenTracingTracer extends 
org.apache.camel.tracing.Tracer {
             }
         }
 
-        Span span = builder.start();
-        return new OpenTracingSpanAdapter(span, 
tracer.scopeManager().activate(span, false));
+        return new OpenTracingSpanAdapter(builder.start());
     }
 
     public Tracer getTracer() {
@@ -146,7 +144,6 @@ public class OpenTracingTracer extends 
org.apache.camel.tracing.Tracer {
     protected void finishSpan(SpanAdapter span) {
         OpenTracingSpanAdapter openTracingSpanWrapper = 
(OpenTracingSpanAdapter) span;
         openTracingSpanWrapper.getOpenTracingSpan().finish();
-        openTracingSpanWrapper.getOpenTracingScope().close();
     }
 
     protected void inject(SpanAdapter span, InjectAdapter adapter) {
diff --git 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracingStrategy.java
 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracingStrategy.java
index c719e71..919dcb2 100644
--- 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracingStrategy.java
+++ 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracingStrategy.java
@@ -72,11 +72,11 @@ public class OpenTracingTracingStrategy implements 
InterceptStrategy {
                     || target instanceof GetBaggageProcessor
                     || target instanceof SetBaggageProcessor);
 
-            try (Scope scope = 
tracer.getTracer().scopeManager().activate(processorSpan, true)) {
-                if (activateExchange) {
-                    ActiveSpanManager.activate(exchange, new 
OpenTracingSpanAdapter(processorSpan, scope));
-                }
+            if (activateExchange) {
+                ActiveSpanManager.activate(exchange, new 
OpenTracingSpanAdapter(processorSpan));
+            }
 
+            try (Scope scope = 
tracer.getTracer().scopeManager().activate(processorSpan, false)) {
                 target.process(exchange);
             } catch (Exception ex) {
                 processorSpan.log(errorLogs(ex));
diff --git 
a/components/camel-opentracing/src/test/java/org/apache/camel/opentracing/ThirdPartyInstrumentationIntegrationTest.java
 
b/components/camel-opentracing/src/test/java/org/apache/camel/opentracing/ThirdPartyInstrumentationIntegrationTest.java
index f2eb6d4..1abb5f0 100644
--- 
a/components/camel-opentracing/src/test/java/org/apache/camel/opentracing/ThirdPartyInstrumentationIntegrationTest.java
+++ 
b/components/camel-opentracing/src/test/java/org/apache/camel/opentracing/ThirdPartyInstrumentationIntegrationTest.java
@@ -58,7 +58,7 @@ public class ThirdPartyInstrumentationIntegrationTest extends 
CamelTestSupport {
 
         OpenTracingTracer openTracingTracer = new OpenTracingTracer();
         openTracingTracer.setTracer(tracer);
-        openTracingTracer.setTracingStrategy(new NoopTracingStrategy());
+        openTracingTracer.setTracingStrategy(new 
OpenTracingTracingStrategy(openTracingTracer));
         openTracingTracer.init(context);
         return context;
     }
@@ -68,7 +68,7 @@ public class ThirdPartyInstrumentationIntegrationTest extends 
CamelTestSupport {
         template.requestBody("direct:DirectProcessor", "");
 
         List<MockSpan> actualSpans = tracer.finishedSpans();
-        assertEquals(2, actualSpans.size(), "Unexpected spans registered");
+        assertEquals(3, actualSpans.size(), "Unexpected spans registered");
 
         Set<Long> traceIds = getTraceIds(actualSpans);
         assertEquals(1, traceIds.size(), () -> "Expected all spans belonging 
to the same trace, but got: " + traceIds);
@@ -81,7 +81,7 @@ public class ThirdPartyInstrumentationIntegrationTest extends 
CamelTestSupport {
         template.requestBody("direct:DirectProcessor", "");
 
         List<MockSpan> actualSpans = tracer.finishedSpans();
-        assertEquals(4, actualSpans.size(), "Unexpected spans registered");
+        assertEquals(6, actualSpans.size(), "Unexpected spans registered");
 
         Set<Long> traceIds = getTraceIds(actualSpans);
         assertEquals(2, traceIds.size(), () -> "Expected all spans belonging 
to two traces, but got: " + traceIds);
@@ -92,7 +92,7 @@ public class ThirdPartyInstrumentationIntegrationTest extends 
CamelTestSupport {
         executeInThirdPartySpan(() -> 
template.requestBody("direct:DirectProcessor", ""));
 
         List<MockSpan> actualSpans = tracer.finishedSpans();
-        assertEquals(3, actualSpans.size(), "Unexpected spans registered");
+        assertEquals(4, actualSpans.size(), "Unexpected spans registered");
 
         Set<Long> traceIds = getTraceIds(actualSpans);
         assertEquals(1, traceIds.size(), "Expected all spans belonging to the 
same trace, but got: " + traceIds);

Reply via email to