Skip to content

Commit 9a6f033

Browse files
authored
Merge branch 'main' into messaging-settlement-span
2 parents 4c5656a + 482cb01 commit 9a6f033

File tree

12 files changed

+171
-25
lines changed

12 files changed

+171
-25
lines changed

CHANGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ release.
3737
- Add `user_agent.name` and `user_agent.version` attributes
3838
([#452](https://github.com/open-telemetry/semantic-conventions/pull/452/))
3939
- Add an example for gcp_pubsub asynchronous batch publish
40-
([#545](https://github.com/open-telemetry/semantic-conventions/pull/545)).
40+
([#545](https://github.com/open-telemetry/semantic-conventions/pull/545))
41+
- Add `aws.ecs.task.id` attribute, corrected description for `aws.ecs.task.arn`.
42+
([#597](https://github.com/open-telemetry/semantic-conventions/pull/597))
43+
- Add Azure Service Bus and Event Hubs messaging attributes
44+
([#572](https://github.com/open-telemetry/semantic-conventions/pull/572))
4145
- Add messaging semantic conventions for settlement spans
4246
([#661](https://github.com/open-telemetry/semantic-conventions/pull/661)).
4347

docs/attributes-registry/messaging.md

+25-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
- [Kafka Attributes](#kafka-attributes)
1111
- [RabbitMQ Attributes](#rabbitmq-attributes)
1212
- [RocketMQ Attributes](#rocketmq-attributes)
13+
- [Azure Event Hubs Attributes](#azure-event-hubs-attributes)
14+
- [Azure Service Bus Attributes](#azure-service-bus-attributes)
1315

1416
<!-- tocstop -->
1517

@@ -66,9 +68,9 @@ size should be used.
6668
|---|---|
6769
| `activemq` | Apache ActiveMQ |
6870
| `aws_sqs` | Amazon Simple Queue Service (SQS) |
69-
| `azure_eventgrid` | Azure Event Grid |
70-
| `azure_eventhubs` | Azure Event Hubs |
71-
| `azure_servicebus` | Azure Service Bus |
71+
| `eventgrid` | Azure Event Grid |
72+
| `eventhubs` | Azure Event Hubs |
73+
| `servicebus` | Azure Service Bus |
7274
| `gcp_pubsub` | Google Cloud Pub/Sub |
7375
| `jms` | Java Message Service |
7476
| `kafka` | Apache Kafka |
@@ -137,3 +139,23 @@ size should be used.
137139
| `delay` | Delay message |
138140
| `transaction` | Transaction message |
139141
<!-- endsemconv -->
142+
143+
## Azure Event Hubs Attributes
144+
145+
<!-- semconv registry.messaging(omit_requirement_level,tag=tech-specific-eventhubs) -->
146+
| Attribute | Type | Description | Examples |
147+
|---|---|---|---|
148+
| `messaging.eventhubs.consumer.group` | string | The name of the consumer group the event consumer is associated with. | `indexer` |
149+
| `messaging.eventhubs.destination.partition.id` | string | The identifier of the partition messages are sent to or received from, unique to the Event Hub which contains it. | `1` |
150+
| `messaging.eventhubs.message.enqueued_time` | int | The UTC epoch seconds at which the message has been accepted and stored in the entity. | `1701393730` |
151+
<!-- endsemconv -->
152+
153+
## Azure Service Bus Attributes
154+
155+
<!-- semconv registry.messaging(omit_requirement_level,tag=tech-specific-servicebus) -->
156+
| Attribute | Type | Description | Examples |
157+
|---|---|---|---|
158+
| `messaging.servicebus.destination.subscription_name` | string | The name of the subscription in the topic messages are received from. | `mySubscription` |
159+
| `messaging.servicebus.message.delivery_count` | int | Number of deliveries that have been attempted for this message. | `2` |
160+
| `messaging.servicebus.message.enqueued_time` | int | The UTC epoch seconds at which the message has been accepted and stored in the entity. | `1701393730` |
161+
<!-- endsemconv -->

docs/cloudevents/cloudevents-spans.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ document.
4040
A CloudEvent can be sent directly from producer to consumer.
4141
For such a scenario, the traditional parent-child trace model works well.
4242
However, CloudEvents are also used in distributed systems where an event
43-
can go through many [hops](<https://wikipedia.org/wiki/Hop_(networking)>)
43+
can go through many [hops](https://en.wikipedia.org/wiki/Hop_%28networking%29)
4444
until it reaches a consumer. In this scenario, the traditional parent-child
4545
trace model is not sufficient to produce a meaningful trace.
4646

docs/messaging/azure-messaging.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!--- Hugo front matter used to generate the website version of this page:
2+
linkTitle: Google Cloud Pub/Sub
3+
--->
4+
5+
# Semantic Conventions for Azure Messaging systems
6+
7+
**Status**: [Experimental][DocumentStatus]
8+
9+
The Semantic Conventions for [Azure Service Bus](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) and [Azure Event Hubs](https://learn.microsoft.com/azure/event-hubs/event-hubs-about) extend and override the [Messaging Semantic Conventions](README.md) that describe common messaging operations attributes in addition to the Semantic Conventions described on this page.
10+
11+
## Azure Service Bus
12+
13+
`messaging.system` MUST be set to `"servicebus"`.
14+
15+
### Span attributes
16+
17+
The following additional attributes are defined:
18+
<!-- semconv messaging.servicebus -->
19+
| Attribute | Type | Description | Examples | Requirement Level |
20+
|---|---|---|---|---|
21+
| [`messaging.servicebus.destination.subscription_name`](../attributes-registry/messaging.md) | string | The name of the subscription in the topic messages are received from. | `mySubscription` | Conditionally Required: If messages are received from the subscription. |
22+
| [`messaging.servicebus.message.delivery_count`](../attributes-registry/messaging.md) | int | Number of deliveries that have been attempted for this message. | `2` | Conditionally Required: [1] |
23+
| [`messaging.servicebus.message.enqueued_time`](../attributes-registry/messaging.md) | int | The UTC epoch seconds at which the message has been accepted and stored in the entity. | `1701393730` | Recommended |
24+
25+
**[1]:** If delivery count is available and is bigger than 0.
26+
<!-- endsemconv -->
27+
28+
## Azure Event Hubs
29+
30+
`messaging.system` MUST be set to `"eventhubs"`.
31+
32+
### Span attributes
33+
34+
The following additional attributes are defined:
35+
<!-- semconv messaging.eventhubs -->
36+
| Attribute | Type | Description | Examples | Requirement Level |
37+
|---|---|---|---|---|
38+
| [`messaging.eventhubs.consumer.group`](../attributes-registry/messaging.md) | string | The name of the consumer group the event consumer is associated with. | `indexer` | Conditionally Required: If not default ("$Default"). |
39+
| [`messaging.eventhubs.destination.partition.id`](../attributes-registry/messaging.md) | string | The identifier of the partition messages are sent to or received from, unique to the Event Hub which contains it. | `1` | Conditionally Required: If available. |
40+
| [`messaging.eventhubs.message.enqueued_time`](../attributes-registry/messaging.md) | int | The UTC epoch seconds at which the message has been accepted and stored in the entity. | `1701393730` | Recommended |
41+
<!-- endsemconv -->
42+
43+
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md

docs/messaging/messaging-metrics.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi
8181
|---|---|
8282
| `activemq` | Apache ActiveMQ |
8383
| `aws_sqs` | Amazon Simple Queue Service (SQS) |
84-
| `azure_eventgrid` | Azure Event Grid |
85-
| `azure_eventhubs` | Azure Event Hubs |
86-
| `azure_servicebus` | Azure Service Bus |
84+
| `eventgrid` | Azure Event Grid |
85+
| `eventhubs` | Azure Event Hubs |
86+
| `servicebus` | Azure Service Bus |
8787
| `gcp_pubsub` | Google Cloud Pub/Sub |
8888
| `jms` | Java Message Service |
8989
| `kafka` | Apache Kafka |

docs/messaging/messaging-spans.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345.
399399
|---|---|
400400
| `activemq` | Apache ActiveMQ |
401401
| `aws_sqs` | Amazon Simple Queue Service (SQS) |
402-
| `azure_eventgrid` | Azure Event Grid |
403-
| `azure_eventhubs` | Azure Event Hubs |
404-
| `azure_servicebus` | Azure Service Bus |
402+
| `eventgrid` | Azure Event Grid |
403+
| `eventhubs` | Azure Event Hubs |
404+
| `servicebus` | Azure Service Bus |
405405
| `gcp_pubsub` | Google Cloud Pub/Sub |
406406
| `jms` | Java Message Service |
407407
| `kafka` | Apache Kafka |

docs/resource/cloud-provider/aws/ecs.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
| `aws.ecs.cluster.arn` | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | Recommended |
1313
| `aws.ecs.container.arn` | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | Recommended |
1414
| `aws.ecs.launchtype` | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2` | Recommended |
15-
| `aws.ecs.task.arn` | string | The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b` | Recommended |
16-
| `aws.ecs.task.family` | string | The task definition family this task definition is a member of. | `opentelemetry-family` | Recommended |
17-
| `aws.ecs.task.revision` | string | The revision for this task definition. | `8`; `26` | Recommended |
15+
| `aws.ecs.task.arn` | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | Recommended |
16+
| `aws.ecs.task.family` | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | Recommended |
17+
| `aws.ecs.task.id` | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | Conditionally Required: If and only if `task.arn` is populated. |
18+
| `aws.ecs.task.revision` | string | The revision for the task definition used to create the ECS task. | `8`; `26` | Recommended |
1819

1920
`aws.ecs.launchtype` MUST be one of the following:
2021

docs/runtime/jvm-metrics.md

+4
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ of `[ 0.01, 0.1, 1, 10 ]`.
188188

189189
## JVM Threads
190190

191+
**Status**: [Stable][DocumentStatus]
192+
191193
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.thread.*`
192194

193195
### Metric: `jvm.thread.count`
@@ -228,6 +230,8 @@ Note that this is the number of platform threads (as opposed to virtual threads)
228230

229231
## JVM Classes
230232

233+
**Status**: [Stable][DocumentStatus]
234+
231235
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.class.*`
232236

233237
### Metric: `jvm.class.loaded`

docs/system/hardware-metrics.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ Additional **Recommended** attributes:
309309
| | | | | | `hw.type` (**Required**) | `physical_disk` |
310310
| `hw.physical_disk.endurance_utilization` | Endurance remaining for this SSD disk | 1 | Gauge | Double | `state` (**Required**) | `remaining` |
311311
| `hw.physical_disk.size` | Size of the disk | By | UpDownCounter | Int64 | | |
312-
| `hw.physical_disk.smart` | Value of the corresponding [S.M.A.R.T.](https://wikipedia.org/wiki/S.M.A.R.T.) attribute | 1 | Gauge | Int | `smart_attribute` (Recommended) | `Seek Error Rate`, `Spin Retry Count`, etc. |
312+
| `hw.physical_disk.smart` | Value of the corresponding [S.M.A.R.T.](https://en.wikipedia.org/wiki/S.M.A.R.T.) attribute | 1 | Gauge | Int | `smart_attribute` (Recommended) | `Seek Error Rate`, `Spin Retry Count`, etc. |
313313
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `predicted_failure` |
314314
| | | | | | `hw.type` (**Required**) | `physical_disk` |
315315

model/registry/messaging.yaml

+42-6
Original file line numberDiff line numberDiff line change
@@ -248,14 +248,14 @@ groups:
248248
- id: aws_sqs
249249
value: 'aws_sqs'
250250
brief: 'Amazon Simple Queue Service (SQS)'
251-
- id: azure_eventgrid
252-
value: 'azure_eventgrid'
251+
- id: eventgrid
252+
value: 'eventgrid'
253253
brief: 'Azure Event Grid'
254-
- id: azure_eventhubs
255-
value: 'azure_eventhubs'
254+
- id: eventhubs
255+
value: 'eventhubs'
256256
brief: 'Azure Event Hubs'
257-
- id: azure_servicebus
258-
value: 'azure_servicebus'
257+
- id: servicebus
258+
value: 'servicebus'
259259
brief: 'Azure Service Bus'
260260
- id: gcp_pubsub
261261
value: 'gcp_pubsub'
@@ -273,3 +273,39 @@ groups:
273273
value: 'rocketmq'
274274
brief: 'Apache RocketMQ'
275275
tag: messaging-generic
276+
- id: servicebus.message.delivery_count
277+
type: int
278+
brief: >
279+
Number of deliveries that have been attempted for this message.
280+
examples: 2
281+
tag: tech-specific-servicebus
282+
- id: servicebus.message.enqueued_time
283+
type: int
284+
brief: >
285+
The UTC epoch seconds at which the message has been accepted and stored in the entity.
286+
examples: 1701393730
287+
tag: tech-specific-servicebus
288+
- id: servicebus.destination.subscription_name
289+
type: string
290+
brief: >
291+
The name of the subscription in the topic messages are received from.
292+
examples: "mySubscription"
293+
tag: tech-specific-servicebus
294+
- id: eventhubs.message.enqueued_time
295+
type: int
296+
brief: >
297+
The UTC epoch seconds at which the message has been accepted and stored in the entity.
298+
examples: 1701393730
299+
tag: tech-specific-eventhubs
300+
- id: eventhubs.destination.partition.id
301+
type: string
302+
brief: >
303+
The identifier of the partition messages are sent to or received from, unique to the Event Hub which contains it.
304+
examples: '1'
305+
tag: tech-specific-eventhubs
306+
- id: eventhubs.consumer.group
307+
type: string
308+
brief: >
309+
The name of the consumer group the event consumer is associated with.
310+
examples: 'indexer'
311+
tag: tech-specific-eventhubs

model/resource/cloud_provider/aws/ecs.yaml

+14-4
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,25 @@ groups:
2828
- id: task.arn
2929
type: string
3030
brief: >
31-
The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html).
32-
examples: ['arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b']
31+
The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids).
32+
examples: [
33+
'arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b',
34+
'arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd'
35+
]
3336
- id: task.family
3437
type: string
3538
brief: >
36-
The task definition family this task definition is a member of.
39+
The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task.
3740
examples: ['opentelemetry-family']
41+
- id: task.id
42+
type: string
43+
brief: >
44+
The ID of a running ECS task. The ID MUST be extracted from `task.arn`.
45+
requirement_level:
46+
conditionally_required: If and only if `task.arn` is populated.
47+
examples: [ '10838bed-421f-43ef-870a-f43feacbbb5b', '23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd' ]
3848
- id: task.revision
3949
type: string
4050
brief: >
41-
The revision for this task definition.
51+
The revision for the task definition used to create the ECS task.
4252
examples: ["8", "26"]

model/trace/messaging.yaml

+26
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,29 @@ groups:
164164
tag: tech-specific-gcp-pubsub
165165
requirement_level:
166166
conditionally_required: If the message type has an ordering key set.
167+
- id: messaging.servicebus
168+
type: attribute_group
169+
extends: messaging
170+
brief: >
171+
Attributes for Azure Service Bus
172+
attributes:
173+
- ref: messaging.servicebus.message.delivery_count
174+
requirement_level:
175+
conditionally_required: If delivery count is available and is bigger than 0.
176+
- ref: messaging.servicebus.message.enqueued_time
177+
- ref: messaging.servicebus.destination.subscription_name
178+
requirement_level:
179+
conditionally_required: If messages are received from the subscription.
180+
- id: messaging.eventhubs
181+
type: attribute_group
182+
extends: messaging
183+
brief: >
184+
Attributes for Azure Event Hubs
185+
attributes:
186+
- ref: messaging.eventhubs.message.enqueued_time
187+
- ref: messaging.eventhubs.destination.partition.id
188+
requirement_level:
189+
conditionally_required: If available.
190+
- ref: messaging.eventhubs.consumer.group
191+
requirement_level:
192+
conditionally_required: If not default ("$Default").

0 commit comments

Comments
 (0)