Mark *.size messaging attributes as opt-in (#1442)
This commit is contained in:
parent
32b75a8d46
commit
6e77ed5f6c
|
|
@ -0,0 +1,4 @@
|
|||
change_type: breaking
|
||||
component: messaging
|
||||
note: Mark *.size messaging attributes as Opt-In
|
||||
issues: [474]
|
||||
|
|
@ -43,9 +43,9 @@ For Apache Kafka, the following additional attributes are defined:
|
|||
| [`messaging.destination.partition.id`](/docs/attributes-registry/messaging.md) | string | String representation of the partition id the message (or batch) is sent to or received from. | `1` | `Recommended` |  |
|
||||
| [`messaging.kafka.message.key`](/docs/attributes-registry/messaging.md) | string | Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message.id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. [9] | `myKey` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`messaging.kafka.offset`](/docs/attributes-registry/messaging.md) | int | The offset of a record in the corresponding Kafka partition. | `42` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [10] | `1439` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`messaging.message.id`](/docs/attributes-registry/messaging.md) | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [11] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [10] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. Only applicable for spans describing single message operations. [11] | `1439` | `Opt-In` |  |
|
||||
|
||||
**[1]:** The `error.type` SHOULD be predictable, and SHOULD have low cardinality.
|
||||
|
||||
|
|
@ -84,10 +84,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
**[9]:** If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
|
||||
|
||||
**[10]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
**[10]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
|
||||
**[11]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
**[11]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -346,13 +346,13 @@ Messaging system-specific attributes MUST be defined in the corresponding `messa
|
|||
| [`server.address`](/docs/attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [14] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.client.id`](/docs/attributes-registry/messaging.md) | string | A unique identifier for the client that consumes or produces a message. | `client-5`; `myhost@8742@s8083jm` | `Recommended` |  |
|
||||
| [`messaging.destination.partition.id`](/docs/attributes-registry/messaging.md) | string | The identifier of the partition messages are sent to or received from, unique within the `messaging.destination.name`. | `1` | `Recommended` When applicable. |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [15] | `1439` | `Recommended` |  |
|
||||
| [`messaging.message.conversation_id`](/docs/attributes-registry/messaging.md) | string | The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". | `MyConversationId` | `Recommended` |  |
|
||||
| [`messaging.message.envelope.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body and metadata in bytes. [16] | `2738` | `Recommended` |  |
|
||||
| [`messaging.message.id`](/docs/attributes-registry/messaging.md) | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the messaging intermediary node where the operation was performed. [17] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` If applicable for this messaging system. |  |
|
||||
| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the messaging intermediary node where the operation was performed. [15] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` If applicable for this messaging system. |  |
|
||||
| [`network.peer.port`](/docs/attributes-registry/network.md) | int | Peer port of the messaging intermediary node where the operation was performed. | `65123` | `Recommended` if and only if `network.peer.address` is set. |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [18] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [16] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [17] | `1439` | `Opt-In` |  |
|
||||
| [`messaging.message.envelope.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body and metadata in bytes. [18] | `2738` | `Opt-In` |  |
|
||||
|
||||
**[1]:** The actual messaging system may differ from the one known by the client. For example, when using Kafka client libraries to communicate with Azure Event Hubs, the `messaging.system` is set to `kafka` based on the instrumentation's best knowledge.
|
||||
|
||||
|
|
@ -401,17 +401,17 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
**[14]:** Server domain name of the broker if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
|
||||
|
||||
**[15]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
|
||||
**[16]:** This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
|
||||
size should be used.
|
||||
|
||||
**[17]:** Semantic conventions for individual messaging systems SHOULD document whether `network.peer.*` attributes are applicable.
|
||||
**[15]:** Semantic conventions for individual messaging systems SHOULD document whether `network.peer.*` attributes are applicable.
|
||||
Network peer address and port are important when the application interacts with individual intermediary nodes directly,
|
||||
If a messaging operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used.
|
||||
|
||||
**[18]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
**[16]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
|
||||
**[17]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
|
||||
**[18]:** This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
|
||||
size should be used.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,12 +31,12 @@ In RabbitMQ, the destination is defined by an *exchange* and a *routing key*.
|
|||
| [`messaging.rabbitmq.destination.routing_key`](/docs/attributes-registry/messaging.md) | string | RabbitMQ message routing key. | `myKey` | `Conditionally Required` If not empty. |  |
|
||||
| [`messaging.rabbitmq.message.delivery_tag`](/docs/attributes-registry/messaging.md) | int | RabbitMQ message delivery tag | `123` | `Conditionally Required` When available. |  |
|
||||
| [`server.address`](/docs/attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [5] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [6] | `1439` | `Recommended` |  |
|
||||
| [`messaging.message.conversation_id`](/docs/attributes-registry/messaging.md) | string | Message [correlation Id](https://www.rabbitmq.com/tutorials/tutorial-six-java#correlation-id) property. | `MyConversationId` | `Recommended` |  |
|
||||
| [`messaging.message.id`](/docs/attributes-registry/messaging.md) | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the network connection - IP address or Unix domain socket name. [7] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` |  |
|
||||
| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the network connection - IP address or Unix domain socket name. [6] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` |  |
|
||||
| [`network.peer.port`](/docs/attributes-registry/network.md) | int | Peer port number of the network connection. | `65123` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [8] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [7] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [8] | `1439` | `Opt-In` |  |
|
||||
|
||||
**[1]:** The `error.type` SHOULD be predictable, and SHOULD have low cardinality.
|
||||
|
||||
|
|
@ -67,13 +67,13 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
**[5]:** Server domain name of the broker if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
|
||||
|
||||
**[6]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
**[6]:** If an operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used.
|
||||
|
||||
**[7]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
|
||||
**[8]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
|
||||
**[7]:** If an operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used.
|
||||
|
||||
**[8]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
|
||||
|
||||
|
||||
The following attributes can be important for making sampling decisions
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ Specific attributes for Apache RocketMQ are defined below.
|
|||
| [`messaging.rocketmq.message.group`](/docs/attributes-registry/messaging.md) | string | It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. | `myMessageGroup` | `Conditionally Required` If the message type is FIFO. |  |
|
||||
| [`server.address`](/docs/attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [9] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.client.id`](/docs/attributes-registry/messaging.md) | string | A unique identifier for the client that consumes or produces a message. | `client-5`; `myhost@8742@s8083jm` | `Recommended` |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [10] | `1439` | `Recommended` |  |
|
||||
| [`messaging.message.id`](/docs/attributes-registry/messaging.md) | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | `Recommended` If span describes operation on a single message. |  |
|
||||
| [`messaging.rocketmq.consumption_model`](/docs/attributes-registry/messaging.md) | string | Model of message consumption. This only applies to consumer spans. | `clustering`; `broadcasting` | `Recommended` |  |
|
||||
| [`messaging.rocketmq.message.keys`](/docs/attributes-registry/messaging.md) | string[] | Key(s) of message, another way to mark message besides message id. | `["keyA", "keyB"]` | `Recommended` |  |
|
||||
| [`messaging.rocketmq.message.tag`](/docs/attributes-registry/messaging.md) | string | The secondary classifier of message besides topic. | `tagA` | `Recommended` |  |
|
||||
| [`messaging.rocketmq.message.type`](/docs/attributes-registry/messaging.md) | string | Type of message. | `normal`; `fifo`; `delay` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [11] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [10] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
| [`messaging.message.body.size`](/docs/attributes-registry/messaging.md) | int | The size of the message body in bytes. [11] | `1439` | `Opt-In` |  |
|
||||
|
||||
**[1]:** The `error.type` SHOULD be predictable, and SHOULD have low cardinality.
|
||||
|
||||
|
|
@ -80,10 +80,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
**[9]:** Server domain name of the broker if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
|
||||
|
||||
**[10]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
**[10]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
|
||||
**[11]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
|
||||
**[11]:** This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
|
||||
body size should be used.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,9 @@ groups:
|
|||
sampling_relevant: true
|
||||
- ref: messaging.message.conversation_id
|
||||
- ref: messaging.message.envelope.size
|
||||
requirement_level: opt_in
|
||||
- ref: messaging.message.body.size
|
||||
requirement_level: opt_in
|
||||
- ref: messaging.batch.message_count
|
||||
requirement_level:
|
||||
conditionally_required: If the span describes an operation on a batch of messages.
|
||||
|
|
@ -111,6 +113,7 @@ groups:
|
|||
brief: >
|
||||
Message [correlation Id](https://www.rabbitmq.com/tutorials/tutorial-six-java#correlation-id) property.
|
||||
- ref: messaging.message.body.size
|
||||
requirement_level: opt_in
|
||||
|
||||
- id: messaging.kafka
|
||||
type: attribute_group
|
||||
|
|
@ -141,8 +144,8 @@ groups:
|
|||
conditionally_required: If the span describes an operation on a batch of messages.
|
||||
- ref: messaging.client.id
|
||||
- ref: messaging.message.body.size
|
||||
requirement_level:
|
||||
recommended: If span describes operation on a single message.
|
||||
requirement_level: opt_in
|
||||
brief: The size of the message body in bytes. Only applicable for spans describing single message operations.
|
||||
|
||||
- id: messaging.rocketmq
|
||||
type: attribute_group
|
||||
|
|
@ -172,6 +175,7 @@ groups:
|
|||
- ref: messaging.rocketmq.consumption_model
|
||||
- ref: messaging.client.id
|
||||
- ref: messaging.message.body.size
|
||||
requirement_level: opt_in
|
||||
- ref: messaging.batch.message_count
|
||||
requirement_level:
|
||||
conditionally_required: If the span describes an operation on a batch of messages.
|
||||
|
|
|
|||
Loading…
Reference in New Issue