Tracer Version(s)
1.65.0
Java Version(s)
21.0.11
JVM Vendor
Eclipse Adoptium / Temurin
Bug Report
When interacting with SQS via the AWS SDK v2, the aws.queue.name tag is missing from spans for all SQS operations. The aws.queue.url tag is correctly set.
The root cause differs per operation:
- SendMessage, SendMessageBatch, DeleteMessage, DeleteMessageBatch (
AwsSdkClientDecorator.onSdkRequest): aws.queue.name is only populated from the QueueName field on the request object. None of these request types have a
QueueName field — only QueueUrl — so getValueForField("QueueName", String.class) always returns an empty Optional.
- ReceiveMessage (
SqsDecorator.onConsume / onTimeInQueue): spans are created by the aws-java-sqs-2.0 module which sets aws.queue.url directly but never extracts the queue name from it.
In all cases the queue name is available as the last path segment of the queue URL but is never extracted.
Expected Behavior
aws.queue.name is set on all SQS operation spans, consistent with how the name is already extracted from ARNs for SNS and Kinesis.
Reproduction Code
SqsClient client = SqsClient.create();
client.sendMessage(SendMessageRequest.builder()
.queueUrl("https://sqs.eu-west-1.amazonaws.com/123456789012/my-queue")
.messageBody("hello")
.build());
Resulting span has aws.queue.url set but aws.queue.name is absent
Tracer Version(s)
1.65.0
Java Version(s)
21.0.11
JVM Vendor
Eclipse Adoptium / Temurin
Bug Report
When interacting with SQS via the AWS SDK v2, the
aws.queue.nametag is missing from spans for all SQS operations. Theaws.queue.urltag is correctly set.The root cause differs per operation:
AwsSdkClientDecorator.onSdkRequest):aws.queue.nameis only populated from the QueueName field on the request object. None of these request types have aQueueName field — only QueueUrl — so
getValueForField("QueueName", String.class)always returns an emptyOptional.SqsDecorator.onConsume/onTimeInQueue): spans are created by theaws-java-sqs-2.0module which setsaws.queue.urldirectly but never extracts the queue name from it.In all cases the queue name is available as the last path segment of the queue URL but is never extracted.
Expected Behavior
aws.queue.nameis set on all SQS operation spans, consistent with how the name is already extracted from ARNs for SNS and Kinesis.Reproduction Code
Resulting span has
aws.queue.urlset butaws.queue.nameis absent