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;