Skip to content

Commit

Permalink
Specify the topic arn as the span attribute messaging.destination.nam…
Browse files Browse the repository at this point in the history
…e in the botocore sns instrumentation
  • Loading branch information
yumarg committed Oct 11, 2023
1 parent 3478831 commit 2bde521
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ def extract_attributes(
] = MessagingDestinationKindValues.TOPIC.value
attributes[SpanAttributes.MESSAGING_DESTINATION] = destination_name

# TODO: Use SpanAttributes.MESSAGING_DESTINATION_NAME when opentelemetry-semantic-conventions 0.42b0 is released
attributes["messaging.destination.name"] = cls._extract_input_arn(call_context)
call_context.span_name = (
f"{'phone_number' if is_phone_number else destination_name} send"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@ def _test_publish_to_arn(self, arg_name: str):
self.topic_name,
span.attributes[SpanAttributes.MESSAGING_DESTINATION],
)
self.assertEqual(
target_arn,
# TODO: Use SpanAttributes.MESSAGING_DESTINATION_NAME when
# opentelemetry-semantic-conventions 0.42b0 is released
span.attributes["messaging.destination.name"]
)

@mock_sns
def test_publish_to_phone_number(self):
Expand Down Expand Up @@ -184,6 +190,12 @@ def test_publish_batch_to_topic(self):
self.topic_name,
span.attributes[SpanAttributes.MESSAGING_DESTINATION],
)
self.assertEqual(
topic_arn,
# TODO: Use SpanAttributes.MESSAGING_DESTINATION_NAME when
# opentelemetry-semantic-conventions 0.42b0 is released
span.attributes["messaging.destination.name"]
)

self.assert_injected_span(message1_attrs, span)
self.assert_injected_span(message2_attrs, span)

0 comments on commit 2bde521

Please sign in to comment.