Skip to content

Commit 2f549fb

Browse files
committed
don't change semantic conventions
1 parent 4a1e0ce commit 2f549fb

File tree

2 files changed

+53
-41
lines changed

2 files changed

+53
-41
lines changed

instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/utils.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,17 @@
33

44
from opentelemetry import context, propagate
55
from opentelemetry.propagators import textmap
6+
from opentelemetry.semconv._incubating.attributes.messaging_attributes import (
7+
MESSAGING_DESTINATION_NAME,
8+
MESSAGING_DESTINATION_TEMPORARY,
9+
MESSAGING_KAFKA_DESTINATION_PARTITION,
10+
MESSAGING_MESSAGE_ID,
11+
MESSAGING_OPERATION,
12+
MESSAGING_SYSTEM,
13+
MessagingOperationTypeValues,
14+
)
615
from opentelemetry.semconv.trace import (
716
MessagingDestinationKindValues,
8-
MessagingOperationValues,
917
SpanAttributes,
1018
)
1119
from opentelemetry.trace import Link, SpanKind
@@ -114,32 +122,29 @@ def _enrich_span(
114122
topic,
115123
partition: Optional[int] = None,
116124
offset: Optional[int] = None,
117-
operation: Optional[MessagingOperationValues] = None,
125+
operation: Optional[MessagingOperationTypeValues] = None,
118126
):
119127
if not span.is_recording():
120128
return
121129

122-
span.set_attribute(SpanAttributes.MESSAGING_SYSTEM, "kafka")
123-
span.set_attribute(SpanAttributes.MESSAGING_DESTINATION, topic)
124-
130+
span.set_attribute(MESSAGING_SYSTEM, "kafka")
131+
span.set_attribute(MESSAGING_DESTINATION_NAME, topic)
125132
if partition is not None:
126-
span.set_attribute(SpanAttributes.MESSAGING_KAFKA_PARTITION, partition)
127-
133+
span.set_attribute(MESSAGING_KAFKA_DESTINATION_PARTITION, partition)
128134
span.set_attribute(
129135
SpanAttributes.MESSAGING_DESTINATION_KIND,
130136
MessagingDestinationKindValues.QUEUE.value,
131137
)
132-
133138
if operation:
134-
span.set_attribute(SpanAttributes.MESSAGING_OPERATION, operation.value)
139+
span.set_attribute(MESSAGING_OPERATION, operation.value)
135140
else:
136-
span.set_attribute(SpanAttributes.MESSAGING_TEMP_DESTINATION, True)
141+
span.set_attribute(MESSAGING_DESTINATION_TEMPORARY, True)
137142

138143
# https://stackoverflow.com/questions/65935155/identify-and-find-specific-message-in-kafka-topic
139144
# A message within Kafka is uniquely defined by its topic name, topic partition and offset.
140145
if partition is not None and offset is not None and topic:
141146
span.set_attribute(
142-
SpanAttributes.MESSAGING_MESSAGE_ID,
147+
MESSAGING_MESSAGE_ID,
143148
f"{topic}.{partition}.{offset}",
144149
)
145150

instrumentation/opentelemetry-instrumentation-confluent-kafka/tests/test_instrumentation.py

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
KafkaContextGetter,
2626
KafkaContextSetter,
2727
)
28+
from opentelemetry.semconv._incubating.attributes.messaging_attributes import (
29+
MESSAGING_DESTINATION_NAME,
30+
MESSAGING_KAFKA_DESTINATION_PARTITION,
31+
MESSAGING_MESSAGE_ID,
32+
MESSAGING_OPERATION,
33+
MESSAGING_SYSTEM,
34+
)
2835
from opentelemetry.semconv.trace import (
2936
MessagingDestinationKindValues,
3037
SpanAttributes,
@@ -122,36 +129,36 @@ def test_poll(self) -> None:
122129
{
123130
"name": "topic-10 process",
124131
"attributes": {
125-
SpanAttributes.MESSAGING_OPERATION: "process",
126-
SpanAttributes.MESSAGING_KAFKA_PARTITION: 0,
127-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
128-
SpanAttributes.MESSAGING_DESTINATION: "topic-10",
132+
MESSAGING_OPERATION: "process",
133+
MESSAGING_KAFKA_DESTINATION_PARTITION: 0,
134+
MESSAGING_SYSTEM: "kafka",
135+
MESSAGING_DESTINATION_NAME: "topic-10",
129136
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
130-
SpanAttributes.MESSAGING_MESSAGE_ID: "topic-10.0.0",
137+
MESSAGING_MESSAGE_ID: "topic-10.0.0",
131138
},
132139
},
133140
{"name": "recv", "attributes": {}},
134141
{
135142
"name": "topic-20 process",
136143
"attributes": {
137-
SpanAttributes.MESSAGING_OPERATION: "process",
138-
SpanAttributes.MESSAGING_KAFKA_PARTITION: 2,
139-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
140-
SpanAttributes.MESSAGING_DESTINATION: "topic-20",
144+
MESSAGING_OPERATION: "process",
145+
MESSAGING_KAFKA_DESTINATION_PARTITION: 2,
146+
MESSAGING_SYSTEM: "kafka",
147+
MESSAGING_DESTINATION_NAME: "topic-20",
141148
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
142-
SpanAttributes.MESSAGING_MESSAGE_ID: "topic-20.2.4",
149+
MESSAGING_MESSAGE_ID: "topic-20.2.4",
143150
},
144151
},
145152
{"name": "recv", "attributes": {}},
146153
{
147154
"name": "topic-30 process",
148155
"attributes": {
149-
SpanAttributes.MESSAGING_OPERATION: "process",
150-
SpanAttributes.MESSAGING_KAFKA_PARTITION: 1,
151-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
152-
SpanAttributes.MESSAGING_DESTINATION: "topic-30",
156+
MESSAGING_OPERATION: "process",
157+
MESSAGING_KAFKA_DESTINATION_PARTITION: 1,
158+
MESSAGING_SYSTEM: "kafka",
159+
MESSAGING_DESTINATION_NAME: "topic-30",
153160
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
154-
SpanAttributes.MESSAGING_MESSAGE_ID: "topic-30.1.3",
161+
MESSAGING_MESSAGE_ID: "topic-30.1.3",
155162
},
156163
},
157164
{"name": "recv", "attributes": {}},
@@ -190,29 +197,29 @@ def test_consume(self) -> None:
190197
{
191198
"name": "topic-1 process",
192199
"attributes": {
193-
SpanAttributes.MESSAGING_OPERATION: "process",
194-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
195-
SpanAttributes.MESSAGING_DESTINATION: "topic-1",
200+
MESSAGING_OPERATION: "process",
201+
MESSAGING_SYSTEM: "kafka",
202+
MESSAGING_DESTINATION_NAME: "topic-1",
196203
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
197204
},
198205
},
199206
{"name": "recv", "attributes": {}},
200207
{
201208
"name": "topic-2 process",
202209
"attributes": {
203-
SpanAttributes.MESSAGING_OPERATION: "process",
204-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
205-
SpanAttributes.MESSAGING_DESTINATION: "topic-2",
210+
MESSAGING_OPERATION: "process",
211+
MESSAGING_SYSTEM: "kafka",
212+
MESSAGING_DESTINATION_NAME: "topic-2",
206213
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
207214
},
208215
},
209216
{"name": "recv", "attributes": {}},
210217
{
211218
"name": "topic-3 process",
212219
"attributes": {
213-
SpanAttributes.MESSAGING_OPERATION: "process",
214-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
215-
SpanAttributes.MESSAGING_DESTINATION: "topic-3",
220+
MESSAGING_OPERATION: "process",
221+
MESSAGING_SYSTEM: "kafka",
222+
MESSAGING_DESTINATION_NAME: "topic-3",
216223
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
217224
},
218225
},
@@ -247,12 +254,12 @@ def test_close(self) -> None:
247254
{
248255
"name": "topic-a process",
249256
"attributes": {
250-
SpanAttributes.MESSAGING_OPERATION: "process",
251-
SpanAttributes.MESSAGING_KAFKA_PARTITION: 0,
252-
SpanAttributes.MESSAGING_SYSTEM: "kafka",
253-
SpanAttributes.MESSAGING_DESTINATION: "topic-a",
257+
MESSAGING_OPERATION: "process",
258+
MESSAGING_KAFKA_DESTINATION_PARTITION: 0,
259+
MESSAGING_SYSTEM: "kafka",
260+
MESSAGING_DESTINATION_NAME: "topic-a",
254261
SpanAttributes.MESSAGING_DESTINATION_KIND: MessagingDestinationKindValues.QUEUE.value,
255-
SpanAttributes.MESSAGING_MESSAGE_ID: "topic-a.0.0",
262+
MESSAGING_MESSAGE_ID: "topic-a.0.0",
256263
},
257264
},
258265
]
@@ -286,7 +293,7 @@ def _compare_spans(self, spans, expected_spans):
286293

287294
def _assert_topic(self, span, expected_topic: str) -> None:
288295
self.assertEqual(
289-
span.attributes[SpanAttributes.MESSAGING_DESTINATION],
296+
span.attributes[MESSAGING_DESTINATION_NAME],
290297
expected_topic,
291298
)
292299

0 commit comments

Comments
 (0)