Hi,

I created a ticket: https://issues.apache.org/jira/browse/CAMEL-22749


Sent with Proton Mail secure email.

On Wednesday, December 3rd, 2025 at 15:15, Claus Ibsen <[email protected]> 
wrote:

> 
> 
> Hi
> 
> Thanks for reporting.
> Yeah it smells like we should cut the data to 255 chars and also encode it
> according to that rule in the exception.
> 
> You are welcome to create a JIRA.
> 
> 
> 
> On Wed, Dec 3, 2025 at 2:44 PM jubar [email protected] wrote:
> 
> > Hi everyone,
> > 
> > i have a route that consumes from multiple topics and I get the following
> > exceptions for every exchange:
> > 
> > `2025-12-03T13:23:15.180+01:00 WARN 17116 --- [example-provider] [example]] 
> > io.opentelemetry.sdk.metrics.SdkMeter : Instrument name 
> > "dev-deleted-incoming-example-quotes,dev-deleted-incoming-example-contracts,dev-deleted-incoming-example-invoices,dev-deleted-incoming-example-orders,dev-deleted-incoming-example-quote-positions,dev-deleted-incoming-example-contract-positions,dev-deleted-incoming-example-invoice-positions,dev-deleted-incoming-example-order-positions.active.active"
> >  is invalid, returning noop instrument. Instrument names must consist of 
> > 255 or fewer characters including alphanumeric, _, ., -, /, and start with 
> > a letter. java.lang.AssertionError: null at 
> > io.opentelemetry.sdk.metrics.SdkMeter.checkValidInstrumentName(SdkMeter.java:324)
> >  ~[opentelemetry-sdk-metrics-1.53.0.jar:1.53.0] at 
> > io.opentelemetry.sdk.metrics.SdkMeter.upDownCounterBuilder(SdkMeter.java:170)
> >  ~[opentelemetry-sdk-metrics-1.53.0.jar:1.53.0] at 
> > io.opentelemetry.instrumentation.micrometer.v1_5.OpenTelemetryLongTaskTimer.<init>(OpenTelemetryLongTaskTimer.java:45)
> >  ~[opentelemetry-micrometer-1.5-2.19.0-alpha.jar:2.19.0-alpha] at 
> > io.opentelemetry.instrumentation.micrometer.v1_5.OpenTelemetryMeterRegistry.newLongTaskTimer(OpenTelemetryMeterRegistry.java:90)
> >  ~[opentelemetry-micrometer-1.5-2.19.0-alpha.jar:2.19.0-alpha] at 
> > io.micrometer.core.instrument.MeterRegistry$More.lambda$longTaskTimer$0(MeterRegistry.java:1075)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.MeterRegistry.getOrCreateMeter(MeterRegistry.java:687)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.MeterRegistry.registerMeterIfNecessary(MeterRegistry.java:615)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.MeterRegistry.access$1100(MeterRegistry.java:67)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.MeterRegistry$More.longTaskTimer(MeterRegistry.java:1072)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.LongTaskTimer$Builder.register(LongTaskTimer.java:506)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.LongTaskTimer$Builder.register(LongTaskTimer.java:501)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.core.instrument.observation.DefaultMeterObservationHandler.onStart(DefaultMeterObservationHandler.java:76)
> >  ~[micrometer-core-1.15.5.jar:1.15.5] at 
> > io.micrometer.tracing.handler.TracingAwareMeterObservationHandler.onStart(TracingAwareMeterObservationHandler.java:54)
> >  ~[micrometer-tracing-1.5.5.jar:1.5.5] at 
> > io.micrometer.observation.ObservationHandler$FirstMatchingCompositeObservationHandler.onStart(ObservationHandler.java:149)
> >  ~[micrometer-observation-1.15.5.jar:1.15.5] at 
> > io.micrometer.observation.SimpleObservation.notifyOnObservationStarted(SimpleObservation.java:214)
> >  ~[micrometer-observation-1.15.5.jar:1.15.5] at 
> > io.micrometer.observation.SimpleObservation.start(SimpleObservation.java:161)
> >  ~[micrometer-observation-1.15.5.jar:1.15.5] at 
> > org.apache.camel.observation.MicrometerObservationTracer.startExchangeBeginSpan(MicrometerObservationTracer.java:186)
> >  ~[camel-observation-4.14.2.jar:4.14.2] at 
> > org.apache.camel.tracing.Tracer$TracingRoutePolicy.onExchangeBegin(Tracer.java:329)
> >  ~[camel-tracing-4.14.2.jar:4.14.2] at 
> > org.apache.camel.impl.engine.CamelInternalProcessor$RoutePolicyAdvice.before(CamelInternalProcessor.java:547)
> >  ~[camel-base-engine-4.14.2.jar:4.14.2] at 
> > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:317)
> >  ~[camel-base-engine-4.14.2.jar:4.14.2] at 
> > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82)
> >  ~[camel-base-engine-4.14.2.jar:4.14.2] at 
> > org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32)
> >  ~[camel-support-4.14.2.jar:4.14.2] at 
> > org.apache.camel.component.kafka.consumer.support.streaming.KafkaRecordStreamingProcessor.processExchange(KafkaRecordStreamingProcessor.java:77)
> >  ~[camel-kafka-4.14.2.jar:4.14.2] at 
> > org.apache.camel.component.kafka.consumer.support.streaming.KafkaRecordStreamingProcessorFacade.processRecord(KafkaRecordStreamingProcessorFacade.java:72)
> >  ~[camel-kafka-4.14.2.jar:4.14.2] at 
> > org.apache.camel.component.kafka.consumer.support.streaming.KafkaRecordStreamingProcessorFacade.processPolledRecords(KafkaRecordStreamingProcessorFacade.java:104)
> >  ~[camel-kafka-4.14.2.jar:4.14.2] at 
> > org.apache.camel.component.kafka.KafkaFetchRecords.startPolling(KafkaFetchRecords.java:389)
> >  ~[camel-kafka-4.14.2.jar:4.14.2] at 
> > org.apache.camel.component.kafka.KafkaFetchRecords.run(KafkaFetchRecords.java:189)
> >  ~[camel-kafka-4.14.2.jar:4.14.2] at 
> > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
> >  ~[na:na] at 
> > java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
> >  ~[na:na] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) 
> > ~[na:na] at 
> > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> >  ~[na:na] at 
> > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> >  ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]`
> > 
> > From what I can see, the issue likely comes from the return value of
> > KafkaSpanDecorator.getDestination(), which is used in
> > AbstractMessagingSpanDecorator.getOperationName().
> > 
> > https://github.com/apache/camel/blob/f2988a09680cfec986522b2ff64d0a5c0df4623c/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java#L50C19-L56
> > 
> > https://github.com/apache/camel/blob/6e33d0081f2f1cdce1ae000bd05eda14f7ed8119/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractMessagingSpanDecorator.java#L34-L37
> > 
> > Greetings,
> > jubar
> > 
> > Sent with Proton Mail secure email.
> 
> 
> 
> --
> Claus Ibsen

Reply via email to