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
