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 2020/12/10 07:48:11 UTC

[camel] branch master updated: revert CAMEL-15710 (#4747)

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 <ja...@users.noreply.github.com>
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);