The rabbitmq_naming_mode configuration is not working when RabbitMQ is used without Spring

Kibana version: 8.12.0

Elasticsearch version: 8.12.0

APM Server version: 8.12.0

APM Agent language and version: Java/1.49.0

Fresh install or upgraded from other version? Upgraded from 1.45.0

Is there anything special in your setup? Nothing specific

Description of the problem including expected versus actual behavior. Please include screenshots (if relevant):

Hi team,

We encountered an issue, or rather a limitation, with the feature for the RabbitMQ plugin that allows changing the name of the transactions to use the Queues' names instead of the Exchange names. We're using RabbitMQ Java Client, version 5.19.0, without Spring framework. We tried to set the configuration following the documentation but without success, there is no change in the behavior with and without the config:

rabbitmq_naming_mode=QUEUE

After some investigation, we found out that this configuration is enabled only for the spring-rabbit-plugin, which is not mentioned in the documentation though.
We would like to ask, if there is an option to make this configuration available with all the RabbitMQ plugins, not only for Spring ones? This feature is really important to us because with the current implementation (with the exchange names) we can't trace our application properly and the transactions that we get are not useful at all.

Thank you in advance!

After some investigation, we found out that this configuration is enabled only for the spring-rabbit-plugin, which is not mentioned in the documentation though.

Thanks for pointing this out, this indeed seems to be an oversight.

I had a look, it seems like it is not really possible to implement this naming mode for the plain RabbitMQ client: IINM the queue name is not accessible from the Consumer.

However, the routing key is accessible. Would that also help you?
We have an open issue for supporting naming based on the routing key.
Unfortunately we currently don't have the resources to prioritize this, though contributions would be welcome.

I'll clarify the docs that queue naming mode only works when using the spring rabbitmq client.

1 Like

Hi Jonas,

Thanks for chiming in! I opened a pull request in which I'm adding ROUTING_KEY as an option to the rabbitmq_naming_mode configuration. Can you take a look when you have time?
Thank you!