Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
3.4.0
-
None
-
Unknown
Description
It seems like there is no strict requirement for rabbitmq.EXCHANGE_NAME header to set by a producer e.g. the following code "works":
from("direct:foo") .to("bar.exchange?queue=bar.queue&autoDelete=false") .end()
However in this instance a span will be created with null as the operation name.
Such spans will be ignored by the collector e.g. Jaeger, which results in subsequent spans having missing parents and "invalid parent span id" warnings appearing.
Doing the following prevents this.
from("direct:foo") .setHeader("rabbitmq.EXCHANGE_NAME").simple("bar.exchange") .to("bar.exchange?queue=bar.queue&autoDelete=false") .end()
It seems like we don't necessarily need the overridden getDestination method in the RabbitMqSpanDecorator and could fall through to the base implementation?
Happy to raise a PR but thought I would collect thoughts in case I had missed some subtlety.
Attachments
Issue Links
- links to