It seems like there is no strict requirement for rabbitmq.EXCHANGE_NAME header to set by a producer e.g. the following code "works":
However in this instance a span will be created with 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.
Happy to raise a PR but thought I would collect thoughts in case I had missed some subtlety.