From e2227c60f8a475c88632303809f15b3acca1adcc Mon Sep 17 00:00:00 2001 From: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> Date: Fri, 13 Dec 2024 14:38:11 +0100 Subject: [PATCH] Messaging: Clarify `{destination}` value used on span name (#1635) --- .chloggen/clarify-temporary-destination.yaml | 5 +++++ docs/messaging/messaging-spans.md | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 .chloggen/clarify-temporary-destination.yaml diff --git a/.chloggen/clarify-temporary-destination.yaml b/.chloggen/clarify-temporary-destination.yaml new file mode 100644 index 0000000000..fb6d9e52b9 --- /dev/null +++ b/.chloggen/clarify-temporary-destination.yaml @@ -0,0 +1,5 @@ +change_type: enhancement +component: messaging +note: Further clarify `{destination}` value on span names +issues: [1635] +subtext: diff --git a/docs/messaging/messaging-spans.md b/docs/messaging/messaging-spans.md index 73a90bdd81..cda4fcfa54 100644 --- a/docs/messaging/messaging-spans.md +++ b/docs/messaging/messaging-spans.md @@ -191,19 +191,24 @@ Messaging spans SHOULD follow the overall [guidelines for span names](https://gi -The **span name** SHOULD be `{messaging.operation.name} {destination}` (see below for the exact definition of the [`{destination}`](#destination-placeholder) placeholder). +The **span name** SHOULD be `{messaging.operation.name} {destination}` +(see below for the exact definition of the [`{destination}`](#destination-placeholder) placeholder). -Semantic conventions for individual messaging systems MAY specify different span name format and then MUST document it in semantic conventions for specific messaging technologies. +Semantic conventions for individual messaging systems MAY specify different +span name format and then MUST document it in semantic conventions +for specific messaging technologies. -The `{destination}` SHOULD describe the entity that the operation is performed against +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](#temporary-and-anonymous-destinations). 3. `server.address:server.port` SHOULD be used only for operations not targeting any specific destination(s). -If a corresponding `{destination}` value is not available for a specific operation, the instrumentation SHOULD omit the `{destination}`. +If a (low-cardinality) corresponding `{destination}` value is not available for +a specific operation, the instrumentation SHOULD omit the `{destination}`. Examples: