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