You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2023/02/16 08:44:45 UTC

[camel] branch main updated: Split init of contextPropagators to separate method. (#9358)

This is an automated email from the ASF dual-hosted git repository.

bvahdat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new d5bc6c0826e Split init of contextPropagators to separate method. (#9358)
d5bc6c0826e is described below

commit d5bc6c0826eb67f54a6bb5b3ea2dcd40f84be75b
Author: Sven Carstens <s....@gmx.de>
AuthorDate: Thu Feb 16 09:44:38 2023 +0100

    Split init of contextPropagators to separate method. (#9358)
    
    Co-authored-by: Sven Carstens <sv...@aoe.com>
---
 .../apache/camel/opentelemetry/OpenTelemetryTracer.java  | 16 +++++-----------
 .../src/main/java/org/apache/camel/tracing/Tracer.java   |  3 +++
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java
index 8e819ac20bf..956cb7017d2 100644
--- a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java
+++ b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java
@@ -19,7 +19,6 @@ package org.apache.camel.opentelemetry;
 import java.util.Set;
 
 import io.opentelemetry.api.GlobalOpenTelemetry;
-import io.opentelemetry.api.OpenTelemetry;
 import io.opentelemetry.api.baggage.Baggage;
 import io.opentelemetry.api.trace.Span;
 import io.opentelemetry.api.trace.SpanBuilder;
@@ -89,14 +88,13 @@ public class OpenTelemetryTracer extends org.apache.camel.tracing.Tracer {
         }
 
         if (tracer == null) {
+            // GlobalOpenTelemetry.get() is always NotNull, falls back to OpenTelemetry.noop()
             tracer = GlobalOpenTelemetry.get().getTracer(instrumentationName);
         }
+    }
 
-        if (tracer == null) {
-            // No tracer is available, so setup NoopTracer
-            tracer = OpenTelemetry.noop().getTracer(instrumentationName);
-        }
-
+    @Override
+    protected void initContextPropagators() {
         if (contextPropagators == null) {
             Set<ContextPropagators> contextPropagatorsSet
                     = getCamelContext().getRegistry().findByType(ContextPropagators.class);
@@ -106,13 +104,9 @@ public class OpenTelemetryTracer extends org.apache.camel.tracing.Tracer {
         }
 
         if (contextPropagators == null) {
+            // GlobalOpenTelemetry.get() is always NotNull, falls back to OpenTelemetry.noop()
             contextPropagators = GlobalOpenTelemetry.get().getPropagators();
         }
-
-        if (contextPropagators == null) {
-            // No contextPropagators is available, so setup NoopTracer
-            contextPropagators = OpenTelemetry.noop().getPropagators();
-        }
     }
 
     @Override
diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
index 6367270a188..19532605d27 100644
--- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
+++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
@@ -78,6 +78,8 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor
 
     protected abstract void initTracer();
 
+    protected abstract void initContextPropagators();
+
     protected abstract SpanAdapter startSendingEventSpan(String operationName, SpanKind kind, SpanAdapter parent);
 
     protected abstract SpanAdapter startExchangeBeginSpan(
@@ -179,6 +181,7 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor
             camelContext.adapt(ExtendedCamelContext.class).addInterceptStrategy(tracingStrategy);
         }
         initTracer();
+        initContextPropagators();
         ServiceHelper.startService(eventNotifier);
     }