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

davsclaus 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 58d478e7702 camel-observation: polished
58d478e7702 is described below

commit 58d478e7702b30a6359662899cf5d0de328596e1
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Jun 17 21:00:47 2024 +0200

    camel-observation: polished
---
 .../camel/observation/AttributeProcessor.java      |  2 +-
 .../GetCorrelationContextProcessor.java            |  4 +-
 .../MicrometerObservationSpanAdapter.java          |  2 -
 .../observation/MicrometerObservationTracer.java   | 48 +++++++++-------------
 .../SetCorrelationContextProcessor.java            | 12 +-----
 5 files changed, 25 insertions(+), 43 deletions(-)

diff --git 
a/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
 
b/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
index cdca8f440ca..fd91d49039a 100644
--- 
a/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
+++ 
b/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
@@ -54,7 +54,7 @@ public class AttributeProcessor extends AsyncProcessorSupport 
implements Traceab
                 String tag = expression.evaluate(exchange, String.class);
                 observation.highCardinalityKeyValue(attributeName, tag);
             } else {
-                LOG.warn("Micrometer Observation: could not find managed span 
for exchange={}", exchange);
+                LOG.warn("Micrometer Observation: Cannot find managed span for 
exchange: {}", exchange);
             }
         } catch (Exception e) {
             exchange.setException(e);
diff --git 
a/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
 
b/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
index 44176ef1d08..8f0633bb5fb 100644
--- 
a/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
+++ 
b/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
@@ -28,7 +28,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class GetCorrelationContextProcessor extends AsyncProcessorSupport 
implements Traceable, IdAware, RouteIdAware {
+
     private static final Logger LOG = 
LoggerFactory.getLogger(GetCorrelationContextProcessor.class);
+
     private final String headerName;
     private final String keyName;
     private String id;
@@ -47,7 +49,7 @@ public class GetCorrelationContextProcessor extends 
AsyncProcessorSupport implem
                 String item = camelSpan.getContextPropagationItem(keyName);
                 exchange.getMessage().setHeader(headerName, item);
             } else {
-                LOG.warn("Observation: could not find managed span for 
exchange={}", exchange);
+                LOG.warn("Micrometer Observation: Cannot find managed span for 
exchange: {}", exchange);
             }
         } catch (Exception e) {
             exchange.setException(e);
diff --git 
a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java
 
b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java
index f66b15b15dc..d500cff8093 100644
--- 
a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java
+++ 
b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java
@@ -30,7 +30,6 @@ public class MicrometerObservationSpanAdapter implements 
SpanAdapter {
     private static final String DEFAULT_EVENT_NAME = "log";
 
     private final Observation observation;
-
     private final Tracer tracer;
 
     MicrometerObservationSpanAdapter(Observation observation, Tracer tracer) {
@@ -145,7 +144,6 @@ public class MicrometerObservationSpanAdapter implements 
SpanAdapter {
         if (eventValue != null) {
             return eventValue.toString();
         }
-
         return DEFAULT_EVENT_NAME;
     }
 
diff --git 
a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java
 
b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java
index a11a84f7a1f..06690fb2f65 100644
--- 
a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java
+++ 
b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.observation;
 
-import java.util.Set;
-
 import io.micrometer.observation.Observation;
 import io.micrometer.observation.ObservationRegistry;
 import io.micrometer.observation.transport.ReceiverContext;
@@ -30,6 +28,7 @@ import 
io.micrometer.tracing.handler.TracingObservationHandler;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.tracing.ExtractAdapter;
 import org.apache.camel.tracing.InjectAdapter;
 import org.apache.camel.tracing.SpanAdapter;
@@ -40,22 +39,12 @@ import 
org.apache.camel.tracing.decorators.AbstractInternalSpanDecorator;
 @ManagedResource(description = "MicrometerObservationTracer")
 public class MicrometerObservationTracer extends 
org.apache.camel.tracing.Tracer {
 
-    static final String SPAN_DECORATOR_INTERNAL = 
"camel.micrometer.abstract-internal";
-
+    private static final String SPAN_DECORATOR_INTERNAL = 
"camel.micrometer.abstract-internal";
     private static final String CAMEL_CONTEXT_NAME = "camel.component";
 
-    private Tracer tracer = Tracer.NOOP;
-
+    private Tracer tracer;
     private ObservationRegistry observationRegistry;
 
-    public ObservationRegistry getObservationRegistry() {
-        return observationRegistry;
-    }
-
-    public void setObservationRegistry(ObservationRegistry 
observationRegistry) {
-        this.observationRegistry = observationRegistry;
-    }
-
     public Tracer getTracer() {
         return tracer;
     }
@@ -64,12 +53,20 @@ public class MicrometerObservationTracer extends 
org.apache.camel.tracing.Tracer
         this.tracer = tracer;
     }
 
+    public ObservationRegistry getObservationRegistry() {
+        return observationRegistry;
+    }
+
+    public void setObservationRegistry(ObservationRegistry 
observationRegistry) {
+        this.observationRegistry = observationRegistry;
+    }
+
     private Observation.Context spanKindToContextOnExtract(
             org.apache.camel.tracing.SpanKind kind, SpanDecorator sd, Exchange 
exchange) {
         ExtractAdapter adapter = 
sd.getExtractAdapter(exchange.getIn().getHeaders(), encoding);
         switch (kind) {
             case PRODUCER:
-                throw new UnsupportedOperationException("You can't extract 
when sending a message");
+                throw new UnsupportedOperationException("Cannot extract when 
sending a message");
             case SPAN_KIND_SERVER:
                 RequestReplyReceiverContext<Object, Message> 
replyReceiverContext
                         = new RequestReplyReceiverContext<>((carrier, key) -> {
@@ -108,7 +105,7 @@ public class MicrometerObservationTracer extends 
org.apache.camel.tracing.Tracer
                 return context;
             case SPAN_KIND_SERVER:
             case CONSUMER:
-                throw new UnsupportedOperationException("You can't inject when 
receiving a message");
+                throw new UnsupportedOperationException("Cannot inject when 
receiving a message");
             default:
                 return new Observation.Context();
         }
@@ -116,24 +113,19 @@ public class MicrometerObservationTracer extends 
org.apache.camel.tracing.Tracer
 
     @Override
     protected void initTracer() {
-        if (observationRegistry == null) {
-            Set<ObservationRegistry> registries = 
getCamelContext().getRegistry().findByType(ObservationRegistry.class);
-            if (registries.size() == 1) {
-                observationRegistry = registries.iterator().next();
-            }
-        }
-
         if (tracer == null) {
-            Set<Tracer> tracers = 
getCamelContext().getRegistry().findByType(Tracer.class);
-            if (tracers.size() == 1) {
-                tracer = tracers.iterator().next();
-            }
+            tracer = CamelContextHelper.findSingleByType(getCamelContext(), 
Tracer.class);
+        }
+        if (observationRegistry == null) {
+            observationRegistry = 
CamelContextHelper.findSingleByType(getCamelContext(), 
ObservationRegistry.class);
         }
-
         if (observationRegistry == null) {
             // No Observation Registry is available, so setup Noop
             observationRegistry = ObservationRegistry.NOOP;
         }
+        if (tracer == null) {
+            tracer = Tracer.NOOP;
+        }
     }
 
     @Override
diff --git 
a/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
 
b/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
index 9d2d86cde84..03613c9f979 100644
--- 
a/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
+++ 
b/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
@@ -50,7 +50,7 @@ public class SetCorrelationContextProcessor extends 
AsyncProcessorSupport implem
                 String item = expression.evaluate(exchange, String.class);
                 camelSpan.setCorrelationContextItem(baggageName, item);
             } else {
-                LOG.warn("OpenTelemetry: could not find managed span for 
exchange={}", exchange);
+                LOG.warn("Micrometer Observation: Cannot find managed span for 
exchange: {}", exchange);
             }
         } catch (Exception e) {
             exchange.setException(e);
@@ -95,16 +95,6 @@ public class SetCorrelationContextProcessor extends 
AsyncProcessorSupport implem
         return expression;
     }
 
-    @Override
-    protected void doStart() throws Exception {
-        // noop
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        // noop
-    }
-
     @Override
     public String toString() {
         return id;

Reply via email to