open-telemetry / semantic-conventions

Defines standards for generating consistent, accessible telemetry across a variety of domains
Apache License 2.0
284 stars 175 forks source link

[Messaging] What to use for `{destination}` on span name when destination is temporary or anonymous #1532

Open joaopgrassi opened 3 weeks ago

joaopgrassi commented 3 weeks ago

Area(s)

area:messaging

Is your change request related to a problem? Please describe.

In the current conventions for messaging Span name we have:

The {destination} SHOULD describe the entity that the operation is performed against and SHOULD adhere to one of the following values, provided they are accessible:

  1. messaging.destination.template SHOULD be used when it is available.
  2. messaging.destination.name SHOULD be used when the destination is known to be neither temporary nor anonymous.
    1. server.address:server.port SHOULD be used only for operations not targeting any specific destination(s).

But it is unclear what to use for {destination} if the destination is temporary or anonymous. Should it be used at all?

In the RabbitMQ Java instrumentation, when the destination is temporary, the messaging.destination.name attribute is populated with the value (temporary)., which raises the question if the same should be done for the span name.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

No response