Change messaging.operation.type=publish to send (#1422)
Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
This commit is contained in:
parent
5f5d468636
commit
f9cf635f66
|
|
@ -0,0 +1,4 @@
|
|||
change_type: enhancement
|
||||
component: messaging
|
||||
note: Change messaging.operation.type = publish to messaging.operation.type = send
|
||||
issues: [1285]
|
||||
|
|
@ -35,7 +35,7 @@ Attributes describing telemetry around messaging systems and messaging activitie
|
|||
| `messaging.message.envelope.size` | int | The size of the message body and metadata in bytes. [7] | `2738` |  |
|
||||
| `messaging.message.id` | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` |  |
|
||||
| `messaging.operation.name` | string | The system-specific name of the messaging operation. | `ack`; `nack`; `send` |  |
|
||||
| `messaging.operation.type` | string | A string identifying the type of the messaging operation. [8] | `publish`; `create`; `receive` |  |
|
||||
| `messaging.operation.type` | string | A string identifying the type of the messaging operation. [8] | `create`; `send`; `receive` |  |
|
||||
| `messaging.system` | string | The messaging system as identified by the client instrumentation. [9] | `activemq`; `aws_sqs`; `eventgrid` |  |
|
||||
|
||||
**[1]:** Instrumentations SHOULD NOT set `messaging.batch.message_count` on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use `messaging.batch.message_count` for batching APIs and SHOULD NOT use it for single-message APIs.
|
||||
|
|
@ -61,14 +61,15 @@ size should be used.
|
|||
|
||||
`messaging.operation.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||
|
||||
| Value | Description | Stability |
|
||||
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `deliver` | Deprecated. Use `process` instead. | <br>Replaced by `process`. |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
| Value | Description | Stability |
|
||||
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `deliver` | Deprecated. Use `process` instead. | <br>Replaced by `process`. |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | Deprecated. Use `send` instead. | <br>Replaced by `send`. |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
`messaging.system` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ The following additional attributes are defined:
|
|||
| [`messaging.batch.message_count`](/docs/attributes-registry/messaging.md) | int | The number of messages sent, received, or processed in the scope of the batching operation. [3] | `0`; `1`; `2` | `Conditionally Required` [4] |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [5] | `MyQueue`; `MyTopic` | `Conditionally Required` [6] |  |
|
||||
| [`messaging.destination.subscription.name`](/docs/attributes-registry/messaging.md) | string | Azure Service Bus [subscription name](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions). | `subscription-a` | `Conditionally Required` If messages are received from the subscription. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.servicebus.disposition_status`](/docs/attributes-registry/messaging.md) | string | Describes the [settlement type](https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock). | `complete`; `abandon`; `dead_letter` | `Conditionally Required` if and only if `messaging.operation` is `settle`. |  |
|
||||
| [`messaging.servicebus.message.delivery_count`](/docs/attributes-registry/messaging.md) | int | Number of deliveries that have been attempted for this message. | `2` | `Conditionally Required` [8] |  |
|
||||
| [`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. |  |
|
||||
|
|
@ -109,10 +109,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ The following additional attributes are defined:
|
|||
| [`messaging.consumer.group.name`](/docs/attributes-registry/messaging.md) | string | Azure Event Hubs [consumer group name](https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-features#consumer-groups). | `my-group`; `indexer` | `Conditionally Required` On consumer spans. |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [5] | `MyQueue`; `MyTopic` | `Conditionally Required` [6] |  |
|
||||
| [`messaging.destination.partition.id`](/docs/attributes-registry/messaging.md) | string | String representation of the partition id messages are sent to or received from, unique within the Event Hub. | `1` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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. [8] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.eventhubs.message.enqueued_time`](/docs/attributes-registry/messaging.md) | int | The UTC epoch seconds at which the message has been accepted and stored in the entity. | `1701393730` | `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. |  |
|
||||
|
|
@ -231,10 +231,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ For Google Cloud Pub/Sub, the following additional attributes are defined:
|
|||
| [`messaging.batch.message_count`](/docs/attributes-registry/messaging.md) | int | The number of messages sent, received, or processed in the scope of the batching operation. [3] | `0`; `1`; `2` | `Conditionally Required` [4] |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [5] | `MyQueue`; `MyTopic` | `Conditionally Required` [6] |  |
|
||||
| [`messaging.gcp_pubsub.message.ordering_key`](/docs/attributes-registry/messaging.md) | string | The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. | `ordering_key` | `Conditionally Required` If the message type has an ordering key set. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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. [8] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Conditionally Required` If available. |  |
|
||||
| [`messaging.destination.subscription.name`](/docs/attributes-registry/messaging.md) | string | Google Pub/Sub [subscription name](https://cloud.google.com/pubsub/docs/subscription-overview). | `subscription-a` | `Recommended` |  |
|
||||
| [`messaging.gcp_pubsub.message.ack_deadline`](/docs/attributes-registry/messaging.md) | int | The ack deadline in seconds set for the modify ack deadline request. | `10` | `Recommended` |  |
|
||||
|
|
@ -104,10 +104,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ flowchart LR;
|
|||
direction LR
|
||||
CA[Span Create A]
|
||||
CB[Span Create B]
|
||||
P[Span Publish A B]
|
||||
P[Span Send A B]
|
||||
end
|
||||
CA-. link .-P;
|
||||
CB-. link .-P;
|
||||
|
|
@ -141,7 +141,7 @@ flowchart LR;
|
|||
linkStyle 0,1 color:green,stroke:green
|
||||
```
|
||||
|
||||
| Field or Attribute | Span Create A | Span Create B | Span Publish A B |
|
||||
| Field or Attribute | Span Create A | Span Create B | Span Send A B |
|
||||
|-|-|-|-|
|
||||
| Span name | `create T` | `create T` | `send T` |
|
||||
| Parent | | | |
|
||||
|
|
@ -151,7 +151,7 @@ flowchart LR;
|
|||
| `messaging.batch.message_count` | | | 2 |
|
||||
| `messaging.destination.name` | `"T"` | `"T"` | `"T"` |
|
||||
| `messaging.operation.name` | `"create"` | `"create"` | `"send"` |
|
||||
| `messaging.operation.type` | `"create"` | `"create"` | `"publish"` |
|
||||
| `messaging.operation.type` | `"create"` | `"create"` | `"send"` |
|
||||
| `messaging.message.id` | `"a1"` | `"a2"` | |
|
||||
| `messaging.message.envelope.size` | `1` | `1` | |
|
||||
| `messaging.system` | `"gcp_pubsub"` | `"gcp_pubsub"` | `"gcp_pubsub"` |
|
||||
|
|
@ -169,7 +169,7 @@ flowchart TD;
|
|||
subgraph PRODUCER
|
||||
direction LR
|
||||
CM1[Create m1]
|
||||
PM1[Publish]
|
||||
PM1[Send]
|
||||
end
|
||||
%% Link 0
|
||||
CM1-. link .-PM1;
|
||||
|
|
@ -200,7 +200,7 @@ flowchart TD;
|
|||
linkStyle 3 color:#0560f2,stroke:#0560f2
|
||||
```
|
||||
|
||||
| Field or Attribute | Span Create A | Span Publish A | Span Receive A | Span Modack A | Span Ack A |
|
||||
| Field or Attribute | Span Create A | Span Send A | Span Receive A | Span Modack A | Span Ack A |
|
||||
|-|-|-|-|-|-|
|
||||
| Span name | `create T` | `send T` | `receive S` | `modack S` | `ack S` |
|
||||
| Parent | | | | | |
|
||||
|
|
@ -210,7 +210,7 @@ flowchart TD;
|
|||
| `messaging.destination.name` | `"T"`| `"T"`| `"S"` | `"S"` |`"S"` |
|
||||
| `messaging.system` | `"gcp_pubsub"` | `"gcp_pubsub"` | `"gcp_pubsub"` | `"gcp_pubsub"` | `"gcp_pubsub"` |
|
||||
| `messaging.operation.name` | `"create"` | `"send"` | `"receive"` | `"modack"` | `"ack"` |
|
||||
| `messaging.operation.type` | `"create"` | `"publish"` | `"receive"` | | `"settle"` |
|
||||
| `messaging.operation.type` | `"create"` | `"send"` | `"receive"` | | `"settle"` |
|
||||
| `messaging.message.id` | `"a1"` | | `"a1"` | | |
|
||||
| `messaging.message.envelope.size` | `1` | `1` | `1` | | |
|
||||
| `messaging.gcp_pubsub.message.ack_id` | | | | `"ack_id1"` |`"ack_id1"` |
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ For Apache Kafka, the following additional attributes are defined:
|
|||
| [`messaging.batch.message_count`](/docs/attributes-registry/messaging.md) | int | The number of messages sent, received, or processed in the scope of the batching operation. [2] | `0`; `1`; `2` | `Conditionally Required` [3] |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [4] | `MyQueue`; `MyTopic` | `Conditionally Required` [5] |  |
|
||||
| [`messaging.kafka.message.tombstone`](/docs/attributes-registry/messaging.md) | boolean | A boolean that is true if the message is a tombstone. | | `Conditionally Required` [6] |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [7] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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. [8] | `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.consumer.group.name`](/docs/attributes-registry/messaging.md) | string | Kafka [consumer group id](https://docs.confluent.io/platform/current/clients/consumer.html). | `my-group`; `indexer` | `Recommended` |  |
|
||||
|
|
@ -113,10 +113,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ flowchart LR;
|
|||
| `messaging.destination.consumer.group` | | `"my-group"` | `"my-group"` | `"my-group"` |
|
||||
| `messaging.destination.partition.id` | `"1"` | `"1"` | `"1"` | `"1"` |
|
||||
| `messaging.operation.name` | `"send"` | `"poll"` | `"process"` | `"commit"` |
|
||||
| `messaging.operation.type` | `"publish"` | `"receive"` | `"process"` | `"settle"` |
|
||||
| `messaging.operation.type` | `"send"` | `"receive"` | `"process"` | `"settle"` |
|
||||
| `messaging.client.id` | `"5"` | `"8"` | `"8"` | `"8"` |
|
||||
| `messaging.kafka.message.key` | `"myKey"` | `"myKey"` | `"myKey"` | |
|
||||
| `messaging.kafka.message.offset` | | `"12"` | `"12"` | `"12"` |
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
- [Common metrics](#common-metrics)
|
||||
- [Metric: `messaging.client.operation.duration`](#metric-messagingclientoperationduration)
|
||||
- [Producer metrics](#producer-metrics)
|
||||
- [Metric: `messaging.client.published.messages`](#metric-messagingclientpublishedmessages)
|
||||
- [Metric: `messaging.client.sent.messages`](#metric-messagingclientsentmessages)
|
||||
- [Consumer metrics](#consumer-metrics)
|
||||
- [Metric: `messaging.client.consumed.messages`](#metric-messagingclientconsumedmessages)
|
||||
- [Metric: `messaging.process.duration`](#metric-messagingprocessduration)
|
||||
|
|
@ -59,7 +59,7 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10
|
|||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [4] | `MyQueue`; `MyTopic` | `Conditionally Required` [5] |  |
|
||||
| [`messaging.destination.subscription.name`](/docs/attributes-registry/messaging.md) | string | The name of the destination subscription from which a message is consumed. [6] | `subscription-a` | `Conditionally Required` if applicable. |  |
|
||||
| [`messaging.destination.template`](/docs/attributes-registry/messaging.md) | string | Low cardinality representation of the messaging destination name [7] | `/customers/{customerId}` | `Conditionally Required` if available. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [8] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [8] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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.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` |  |
|
||||
| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [10] | `80`; `8080`; `443` | `Recommended` |  |
|
||||
|
|
@ -116,10 +116,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
@ -148,11 +148,11 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
|
|||
|
||||
## Producer metrics
|
||||
|
||||
### Metric: `messaging.client.published.messages`
|
||||
### Metric: `messaging.client.sent.messages`
|
||||
|
||||
This metric is [required][MetricRequired].
|
||||
|
||||
<!-- semconv metric.messaging.client.published.messages -->
|
||||
<!-- semconv metric.messaging.client.sent.messages -->
|
||||
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
||||
<!-- see templates/registry/markdown/snippet.md.j2 -->
|
||||
<!-- prettier-ignore-start -->
|
||||
|
|
@ -161,10 +161,10 @@ This metric is [required][MetricRequired].
|
|||
|
||||
| Name | Instrument Type | Unit (UCUM) | Description | Stability |
|
||||
| -------- | --------------- | ----------- | -------------- | --------- |
|
||||
| `messaging.client.published.messages` | Counter | `{message}` | Number of messages producer attempted to publish to the broker. [1] |  |
|
||||
| `messaging.client.sent.messages` | Counter | `{message}` | Number of messages producer attempted to send to the broker. [1] |  |
|
||||
|
||||
|
||||
**[1]:** This metric MUST NOT count messages that were created haven't yet been attempted to be published.
|
||||
**[1]:** This metric MUST NOT count messages that were created but haven't yet been sent.
|
||||
|
||||
|
||||
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||
|
|
|
|||
|
|
@ -63,8 +63,9 @@ Messages can be delivered to 0, 1, or multiple consumers depending on the dispat
|
|||
### Producer
|
||||
|
||||
The "producer" is a specific instance, process or device that creates and
|
||||
publishes a message. "Publishing" is the process of sending a message or batch
|
||||
of messages to the intermediary or consumer.
|
||||
sends a message. "Sending" is the process of transmitting a message or batch
|
||||
of messages to the intermediary or consumer. Some intermediaries use "publishing"
|
||||
as a synonym to sending.
|
||||
|
||||
### Consumer
|
||||
|
||||
|
|
@ -84,7 +85,7 @@ might be another intermediary or a consumer.
|
|||
### Destinations
|
||||
|
||||
A destination represents the entity within a messaging system where
|
||||
messages are published to and consumed from.
|
||||
messages are sent to and consumed from.
|
||||
|
||||
A destination is usually uniquely identified by its name within
|
||||
the messaging system instance.
|
||||
|
|
@ -186,6 +187,7 @@ If a corresponding `{destination}` value is not available for a specific operati
|
|||
Examples:
|
||||
|
||||
* `publish shop.orders`
|
||||
* `send shop.orders`
|
||||
* `subscribe shop.orders`
|
||||
* `ack shop.orders`
|
||||
* `nack print_jobs`
|
||||
|
|
@ -198,8 +200,8 @@ The following operation types related to messages are defined for these semantic
|
|||
|
||||
| Operation type | Description |
|
||||
| -------------- | ----------- |
|
||||
| `create` | A message is created or passed to a client library for publishing. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |
|
||||
| `create` | A message is created or passed to a client library for sending. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |
|
||||
| `process` | One or more messages are processed by a consumer. |
|
||||
| `settle` | One or more messages are settled. |
|
||||
|
|
@ -211,7 +213,7 @@ Span kind SHOULD be set according to the following table, based on the operation
|
|||
| Operation type | Span kind|
|
||||
|----------------|-------------|
|
||||
| `create` | `PRODUCER` |
|
||||
| `publish` | `PRODUCER` if the context of the "Publish" span is used as creation context, otherwise `CLIENT`. |
|
||||
| `send` | `PRODUCER` if the context of the "Send" span is used as creation context, otherwise `CLIENT`. |
|
||||
| `receive` | `CLIENT` |
|
||||
| `process` | `CONSUMER` |
|
||||
|
||||
|
|
@ -223,20 +225,20 @@ and relationships between them without the need for additional semantic hints.
|
|||
#### Producer spans
|
||||
|
||||
"Create" spans MAY be created when a message is created or passed to the client
|
||||
library or other component responsible for publishing. A single "Create" span
|
||||
SHOULD account only for a single message. "Publish" spans SHOULD be created
|
||||
library or other component responsible for sending. A single "Create" span
|
||||
SHOULD account only for a single message. "Send" spans SHOULD be created
|
||||
for operations of sending or publishing a message to an intermediary. A single
|
||||
"Publish" span can account for a single message, or for multiple messages (in
|
||||
"Send" span can account for a single message, or for multiple messages (in
|
||||
the case of sending messages in batches).
|
||||
|
||||
If a user provides a custom creation context in a message, this context SHOULD
|
||||
NOT be modified and a "Create" span SHOULD NOT be created. Otherwise, if a
|
||||
"Create" span exists for a message, its context SHOULD be injected into the
|
||||
message. If no "Create" span exists and no custom creation context is injected
|
||||
into the message, the context of the related "Publish" span SHOULD be injected
|
||||
into the message, the context of the related "Send" span SHOULD be injected
|
||||
into the message.
|
||||
|
||||
The "Publish" span SHOULD always link to the creation context that was injected
|
||||
The "Send" span SHOULD always link to the creation context that was injected
|
||||
into a message either from a "Create" span or as a custom creation context.
|
||||
|
||||
When instrumenting a library API that always sends a single message, it is
|
||||
|
|
@ -326,7 +328,7 @@ one of these possible approaches:
|
|||
Messaging attributes are organized into the following namespaces:
|
||||
|
||||
- `messaging.message`: Contains attributes that describe individual messages.
|
||||
- `messaging.destination`: Contains attributes that describe the logical entity messages are published to. See [Destinations](#destinations) for more details.
|
||||
- `messaging.destination`: Contains attributes that describe the logical entity messages are sent to. See [Destinations](#destinations) for more details.
|
||||
- `messaging.batch`: Contains attributes that describe batch operations.
|
||||
- `messaging.consumer`: Contains attributes that describe the application instance that consumes a message. See [Consumer](#consumer) for more details.
|
||||
|
||||
|
|
@ -351,7 +353,7 @@ Messaging system-specific attributes MUST be defined in the corresponding `messa
|
|||
| [`messaging.destination.subscription.name`](/docs/attributes-registry/messaging.md) | string | The name of the destination subscription from which a message is consumed. [9] | `subscription-a` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.destination.template`](/docs/attributes-registry/messaging.md) | string | Low cardinality representation of the messaging destination name [10] | `/customers/{customerId}` | `Conditionally Required` [11] |  |
|
||||
| [`messaging.destination.temporary`](/docs/attributes-registry/messaging.md) | boolean | A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed. | | `Conditionally Required` [12] |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [13] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [13] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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. |  |
|
||||
|
|
@ -449,10 +451,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
@ -481,10 +483,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
### Recording per-message attributes on batch operations
|
||||
|
||||
All messaging operations (`publish`, `receive`, `process`, or others not covered by this specification) can describe both single and/or batch of messages.
|
||||
All messaging operations (`send`, `receive`, `process`, or others not covered by this specification) can describe both single and/or batch of messages.
|
||||
Attributes in the `messaging.message` or `messaging.{system}.message` namespace apply to individual messages and typically vary between messages within the same batch.
|
||||
|
||||
Some messaging systems such as Kafka or Azure Event Grid allow publishing a batch of messages to different topics in a single operation, resulting in
|
||||
Some messaging systems such as Kafka or Azure Event Grid allow sending a batch of messages to different topics in a single operation, resulting in
|
||||
different `messaging.destination.name` or other destination attributes within a single messaging operation.
|
||||
|
||||
If the attribute value is the same for all messages in the batch, the instrumentation SHOULD set such attribute on the span representing the batch operation.
|
||||
|
|
@ -510,7 +512,7 @@ Given is a publisher that publishes a message to a topic exchange "T" on RabbitM
|
|||
flowchart LR;
|
||||
subgraph PRODUCER
|
||||
direction TB
|
||||
P[Span Publish A]
|
||||
P[Span Send A]
|
||||
end
|
||||
subgraph CONSUMER1
|
||||
direction TB
|
||||
|
|
@ -530,7 +532,7 @@ flowchart LR;
|
|||
linkStyle 0,1,2,3 color:green,stroke:green
|
||||
```
|
||||
|
||||
| Field or Attribute | Span Publish A | Span Process A 1| Span Process A 2 |
|
||||
| Field or Attribute | Span Send A | Span Process A 1| Span Process A 2 |
|
||||
|-|-|-|-|
|
||||
| Span name | `publish T` | `consume T` | `consume T` |
|
||||
| Parent (optional) | | `publish T` | `publish T` |
|
||||
|
|
@ -541,19 +543,19 @@ flowchart LR;
|
|||
| `messaging.system` | `"rabbitmq"` | `"rabbitmq"` | `"rabbitmq"` |
|
||||
| `messaging.destination.name` | `"T"` | `"T"` | `"T"` |
|
||||
| `messaging.operation.name` | `"publish"` | `"consume"` | `"consume"` |
|
||||
| `messaging.operation.type` | `"publish"` | `"process"` | `"process"` |
|
||||
| `messaging.operation.type` | `"send"` | `"process"` | `"process"` |
|
||||
| `messaging.message.id` | `"a"` | `"a"`| `"a"` |
|
||||
|
||||
### Batch receiving
|
||||
|
||||
Given is a publisher that publishes two messages to a topic "Q" on Kafka, and a consumer which receives both messages in one batch.
|
||||
Given is a producer that publishes two messages to a topic "Q" on Kafka, and a consumer which receives both messages in one batch.
|
||||
|
||||
```mermaid
|
||||
flowchart LR;
|
||||
subgraph PRODUCER
|
||||
direction TB
|
||||
PA[Span Publish A]
|
||||
PB[Span Publish B]
|
||||
PA[Span Send A]
|
||||
PB[Span Send B]
|
||||
end
|
||||
subgraph CONSUMER1
|
||||
direction TB
|
||||
|
|
@ -567,26 +569,26 @@ flowchart LR;
|
|||
linkStyle 0,1 color:green,stroke:green
|
||||
```
|
||||
|
||||
| Field or Attribute | Span Publish A | Span Publish B | Span Receive A B |
|
||||
| Field or Attribute | Span Send A | Span Send B | Span Receive A B |
|
||||
|-|-|-|-|
|
||||
| Span name | `send Q` | `send Q` | `poll Q` |
|
||||
| Parent | | | |
|
||||
| Links | | | Span Publish A, Span Publish B |
|
||||
| Link attributes | | | Span Publish A: `messaging.message.id`: `"a1"` |
|
||||
| | | | Span Publish B: `messaging.message.id`: `"a2"` |
|
||||
| Links | | | Span Send A, Span Send B |
|
||||
| Link attributes | | | Span Send A: `messaging.message.id`: `"a1"` |
|
||||
| | | | Span Send B: `messaging.message.id`: `"a2"` |
|
||||
| SpanKind | `PRODUCER` | `PRODUCER` | `CONSUMER` |
|
||||
| `server.address` | `"ms"` | `"ms"` | `"ms"` |
|
||||
| `server.port` | `1234` | `1234` | `1234` |
|
||||
| `messaging.system` | `"kafka"` | `"kafka"` | `"kafka"` |
|
||||
| `messaging.destination.name` | `"Q"` | `"Q"` | `"Q"` |
|
||||
| `messaging.operation.name` | `"send"` | `"send"` | `"poll"` |
|
||||
| `messaging.operation.type` | `"publish"` | `"publish"` | `"receive"` |
|
||||
| `messaging.operation.type` | `"send"` | `"send"` | `"receive"` |
|
||||
| `messaging.message.id` | `"a1"` | `"a2"` | |
|
||||
| `messaging.batch.message_count` | | | 2 |
|
||||
|
||||
### Batch publishing with "Create" spans
|
||||
|
||||
Given is a publisher that publishes a batch with two messages to a topic "Q" on
|
||||
Given is a producer that publishes a batch with two messages to a topic "Q" on
|
||||
Kafka, and two different consumers receiving one of the messages.
|
||||
|
||||
Instrumentation in this case reports "Create" span for each message and a "Publish"
|
||||
|
|
@ -598,7 +600,7 @@ flowchart LR;
|
|||
direction TB
|
||||
CA[Span Create A]
|
||||
CB[Span Create B]
|
||||
P[Span Publish]
|
||||
P[Span Send]
|
||||
end
|
||||
subgraph CONSUMER1
|
||||
direction TB
|
||||
|
|
@ -618,7 +620,7 @@ flowchart LR;
|
|||
linkStyle 0,1,2,3 color:green,stroke:green
|
||||
```
|
||||
|
||||
| Field or Attribute | Span Create A | Span Create B | Span Publish | Span Receive A | Span Receive B |
|
||||
| Field or Attribute | Span Create A | Span Create B | Span Send | Span Receive A | Span Receive B |
|
||||
|-|-|-|-|-|-|
|
||||
| Span name | `create Q` | `create Q` | `send Q` | `poll Q` | `poll Q` |
|
||||
| Parent | | | | | |
|
||||
|
|
@ -629,7 +631,7 @@ flowchart LR;
|
|||
| `messaging.system` | `"kafka"` | `"kafka"` | `"kafka"` | `"kafka"` | `"kafka"` |
|
||||
| `messaging.destination.name` | `"Q"` | `"Q"` | `"Q"` | `"Q"` | `"Q"` |
|
||||
| `messaging.operation.name` | `"create"` | `"create"` | `"send"` | `"poll"` | `"poll"` |
|
||||
| `messaging.operation.type` | `"create"` | `"create"` | `"publish"` | `"receive"` | `"receive"` |
|
||||
| `messaging.operation.type` | `"create"` | `"create"` | `"send"` | `"receive"` | `"receive"` |
|
||||
| `messaging.message.id` | `"a1"` | `"a2"` | | `"a1"` | `"a2"` |
|
||||
| `messaging.batch.message_count` | | | 2 | | |
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ In RabbitMQ, the destination is defined by an *exchange* and a *routing key*.
|
|||
| [`messaging.operation.name`](/docs/attributes-registry/messaging.md) | string | The system-specific name of the messaging operation. | `ack`; `nack`; `send` | `Required` |  |
|
||||
| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [1] | `amqp:decode-error`; `KAFKA_STORAGE_ERROR`; `channel-error` | `Conditionally Required` If and only if the messaging operation has failed. |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [2] | `MyQueue`; `MyTopic` | `Conditionally Required` [3] |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [4] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [4] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`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. |  |
|
||||
|
|
@ -96,10 +96,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Specific attributes for Apache RocketMQ are defined below.
|
|||
| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [1] | `amqp:decode-error`; `KAFKA_STORAGE_ERROR`; `channel-error` | `Conditionally Required` If and only if the messaging operation has failed. |  |
|
||||
| [`messaging.batch.message_count`](/docs/attributes-registry/messaging.md) | int | The number of messages sent, received, or processed in the scope of the batching operation. [2] | `0`; `1`; `2` | `Conditionally Required` [3] |  |
|
||||
| [`messaging.destination.name`](/docs/attributes-registry/messaging.md) | string | The message destination name [4] | `MyQueue`; `MyTopic` | `Conditionally Required` [5] |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [6] | `publish`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.operation.type`](/docs/attributes-registry/messaging.md) | string | A string identifying the type of the messaging operation. [6] | `send`; `create`; `receive` | `Conditionally Required` If applicable. |  |
|
||||
| [`messaging.rocketmq.message.delay_time_level`](/docs/attributes-registry/messaging.md) | int | The delay time level for delay message, which determines the message delay time. | `3` | `Conditionally Required` [7] |  |
|
||||
| [`messaging.rocketmq.message.delivery_timestamp`](/docs/attributes-registry/messaging.md) | int | The timestamp in milliseconds that the delay message is expected to be delivered to consumer. | `1665987217045` | `Conditionally Required` [8] |  |
|
||||
| [`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. |  |
|
||||
|
|
@ -108,10 +108,10 @@ and SHOULD be provided **at span creation time** (if provided at all):
|
|||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. |  |
|
||||
| `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios. |  |
|
||||
| `process` | One or more messages are processed by a consumer. |  |
|
||||
| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. |  |
|
||||
| `send` | One or more messages are provided for sending to an intermediary. If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created. |  |
|
||||
| `settle` | One or more messages are settled. |  |
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -48,3 +48,13 @@ groups:
|
|||
instrument: counter
|
||||
unit: "{message}"
|
||||
extends: attributes.messaging.common.minimal
|
||||
|
||||
- id: metric.messaging.client.published.messages
|
||||
type: metric
|
||||
metric_name: messaging.client.published.messages
|
||||
brief: "Deprecated. Use `messaging.client.sent.messages` instead."
|
||||
deprecated: "Replaced by `messaging.client.sent.messages`."
|
||||
stability: experimental
|
||||
instrument: counter
|
||||
unit: "{message}"
|
||||
extends: metric.messaging.attributes
|
||||
|
|
|
|||
|
|
@ -61,12 +61,12 @@ groups:
|
|||
examples: ["process", "consume", "handle"]
|
||||
|
||||
# counters
|
||||
- id: metric.messaging.client.published.messages
|
||||
- id: metric.messaging.client.sent.messages
|
||||
type: metric
|
||||
metric_name: messaging.client.published.messages
|
||||
brief: "Number of messages producer attempted to publish to the broker."
|
||||
metric_name: messaging.client.sent.messages
|
||||
brief: "Number of messages producer attempted to send to the broker."
|
||||
note: >
|
||||
This metric MUST NOT count messages that were created haven't yet been attempted to be published.
|
||||
This metric MUST NOT count messages that were created but haven't yet been sent.
|
||||
stability: experimental
|
||||
instrument: counter
|
||||
unit: "{message}"
|
||||
|
|
|
|||
|
|
@ -103,17 +103,17 @@ groups:
|
|||
- id: messaging.operation.type
|
||||
type:
|
||||
members:
|
||||
- id: publish
|
||||
value: "publish"
|
||||
brief: >
|
||||
One or more messages are provided for publishing to an intermediary.
|
||||
If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
|
||||
stability: experimental
|
||||
- id: create
|
||||
value: "create"
|
||||
brief: >
|
||||
A message is created.
|
||||
"Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
|
||||
"Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch sending scenarios.
|
||||
stability: experimental
|
||||
- id: send
|
||||
value: "send"
|
||||
brief: >
|
||||
One or more messages are provided for sending to an intermediary.
|
||||
If a single message is sent, the context of the "Send" span can be used as the creation context and no "Create" span needs to be created.
|
||||
stability: experimental
|
||||
- id: receive
|
||||
value: "receive"
|
||||
|
|
@ -136,6 +136,11 @@ groups:
|
|||
brief: "Deprecated. Use `process` instead."
|
||||
deprecated: "Replaced by `process`."
|
||||
stability: experimental
|
||||
- id: publish
|
||||
value: "publish"
|
||||
brief: "Deprecated. Use `send` instead."
|
||||
deprecated: "Replaced by `send`."
|
||||
stability: experimental
|
||||
|
||||
stability: experimental
|
||||
brief: >
|
||||
|
|
|
|||
|
|
@ -74,6 +74,9 @@ versions:
|
|||
# https://github.com/open-telemetry/semantic-conventions/pull/1265
|
||||
- rename_metrics:
|
||||
jvm.buffer.memory.usage: jvm.buffer.memory.used
|
||||
# https://github.com/open-telemetry/semantic-conventions/pull/1422
|
||||
- rename_metrics:
|
||||
messaging.client.published.messages: messaging.client.sent.messages
|
||||
1.26.0:
|
||||
metrics:
|
||||
changes:
|
||||
|
|
|
|||
Loading…
Reference in New Issue