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