Is your feature request related to a problem? Please describe.
Important messaging details are not explicitly captured when instrumenting AWS SNS publish API calls. Depending on the version of the AWS SDK in use there may be information included as query parameters -- which is captured by the OpenTelemetry instrumentation -- but newer versions of the SDK have switched to including that information in the request body causing the information to be completely missing from the emitted spans.
Of particular concern in the SNS topic ARN to uniquely identify the SNS topic.
Describe the solution you'd like
Record the SNS topic ARN using the messaging.destination.name attribute.
Describe alternatives you've considered
Older versions of the AWS SDK utilize HTTP query parameters and included the SNS Topic ARN.
Example:
Below is an example of details included as HTTP query parameters
Attributes:
-> http.method: Str(POST)
-> rpc.system: Str(aws-api)
-> thread.name: Str(main)
-> http.url: Str(https://sns.us-west-2.amazonaws.com?Action=Publish&Version=2010-03-31&TopicArn=<arn>&Message=<message>)
-> thread.id: Int(1)
-> http.request_content_length: Int(141)
-> rpc.service: Str(Sns)
-> rpc.method: Str(Publish)
-> http.status_code: Int(200)
-> net.peer.name: Str(sns.us-west-2.amazonaws.com)
-> user_agent.original: Str(aws-sdk-java/2.20.160 Linux/4.14.255-318-256.530.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/17.0.8.1+8-LTS Java/17.0.8.1 vendor/Amazon.com_Inc. exec-env/AWS_Lambda_java17 io/sync http/Apache cfg/retry-mode/legacy)
-> http.response_content_length: Int(294)
Additional context
The same issue has been raised and accepted in the NodeJS (issue, commit) and Python (issue, commit).
Is your feature request related to a problem? Please describe.
Important messaging details are not explicitly captured when instrumenting AWS SNS publish API calls. Depending on the version of the AWS SDK in use there may be information included as query parameters -- which is captured by the OpenTelemetry instrumentation -- but newer versions of the SDK have switched to including that information in the request body causing the information to be completely missing from the emitted spans.
Of particular concern in the SNS topic ARN to uniquely identify the SNS topic.
Describe the solution you'd like
Record the SNS topic ARN using the
messaging.destination.nameattribute.Describe alternatives you've considered
Older versions of the AWS SDK utilize HTTP query parameters and included the SNS Topic ARN.
Example:
Below is an example of details included as HTTP query parameters
Additional context
The same issue has been raised and accepted in the NodeJS (issue, commit) and Python (issue, commit).