Skip to content

Commit 1a58c00

Browse files
committed
Update attributes to match semconv
1 parent 2ceaf46 commit 1a58c00

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

instrumentation/racecar/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Release History: opentelemetry-instrumentation-racecar
22

3+
* Renamed messaging.kafka.message_key to messaging.kafka.message.key to match semantic conventions.
4+
5+
* Renamed messaging.destination to messaging.destination.name to match semantic conventions.
6+
7+
* Renamed messaging.kafka.partition to messaging.destination.partition.id to match semantic conventions.
8+
9+
* Removed messaging.destination_kind to match semantic conventions.
10+
11+
* Add messaging.operation.type attribute as per semantic conventions.
12+
313
### v0.4.0 / 2025-01-16
414

515
* BREAKING CHANGE: Set minimum supported version to Ruby 3.1

instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/patches/consumer.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ module Consumer
1313
def produce(payload, topic:, key: nil, partition: nil, partition_key: nil, headers: nil, create_time: nil)
1414
attributes = {
1515
'messaging.system' => 'kafka',
16-
'messaging.destination' => topic,
17-
'messaging.destination_kind' => 'topic'
16+
'messaging.destination.name' => topic,
17+
'messaging.operation.type' => 'send'
1818
}
1919

2020
headers ||= {}

instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/process_message_subscriber.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ def start(_name, _id, payload)
3636
def attributes(payload)
3737
attributes = {
3838
'messaging.system' => 'kafka',
39-
'messaging.destination' => payload[:topic],
40-
'messaging.destination_kind' => 'topic',
41-
'messaging.kafka.partition' => payload[:partition],
42-
'messaging.kafka.offset' => payload[:offset]
39+
'messaging.destination.name' => payload[:topic],
40+
'messaging.destination.partition.id' => payload[:partition],
41+
'messaging.kafka.offset' => payload[:offset],
42+
'messaging.operation.type' => 'receive'
4343
}
4444

4545
message_key = extract_message_key(payload[:key])
46-
attributes['messaging.kafka.message_key'] = message_key if message_key
46+
attributes['messaging.kafka.message.key'] = message_key if message_key
4747

4848
attributes
4949
end

instrumentation/racecar/test/opentelemetry/instrumentation/racecar_test.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ def stop_racecar(thread)
126126
first_process_span = process_spans[0]
127127
_(first_process_span.name).must_equal("#{topic_name} process")
128128
_(first_process_span.kind).must_equal(:consumer)
129-
_(first_process_span.attributes['messaging.destination']).must_equal(topic_name)
130-
_(first_process_span.attributes['messaging.kafka.partition']).wont_be_nil
129+
_(first_process_span.attributes['messaging.destination.name']).must_equal(topic_name)
130+
_(first_process_span.attributes['messaging.destination.partition.id']).wont_be_nil
131131

132132
first_process_span_link = first_process_span.links[0]
133133
linked_span_context = first_process_span_link.span_context
@@ -184,10 +184,10 @@ def stop_racecar(thread)
184184
process_spans = spans.select { |s| s.name == "#{topic_name} process" }
185185

186186
first_process_span = process_spans[0]
187-
_(first_process_span.attributes['messaging.kafka.message_key']).must_equal('Key 1')
187+
_(first_process_span.attributes['messaging.kafka.message.key']).must_equal('Key 1')
188188

189189
second_process_span = process_spans[1]
190-
_(second_process_span.attributes).wont_include('messaging.kafka.message_key')
190+
_(second_process_span.attributes).wont_include('messaging.kafka.message.key')
191191
end
192192
end
193193
end
@@ -216,8 +216,8 @@ def stop_racecar(thread)
216216
first_process_span = process_spans[0]
217217
_(first_process_span.name).must_equal("#{topic_name} process")
218218
_(first_process_span.kind).must_equal(:consumer)
219-
_(first_process_span.attributes['messaging.destination']).must_equal(topic_name)
220-
_(first_process_span.attributes['messaging.kafka.partition']).wont_be_nil
219+
_(first_process_span.attributes['messaging.destination.name']).must_equal(topic_name)
220+
_(first_process_span.attributes['messaging.destination.partition.id']).wont_be_nil
221221

222222
first_process_span_link = first_process_span.links[0]
223223
linked_span_context = first_process_span_link.span_context

0 commit comments

Comments
 (0)