Skip to content

Commit b4e00bc

Browse files
authored
Update aws sdk1 semconv (#15094)
1 parent 95a2ed1 commit b4e00bc

File tree

15 files changed

+49
-46
lines changed

15 files changed

+49
-46
lines changed

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/AwsSpanAssertions.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1616
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
1717
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_REQUEST_ID;
18+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_S3_BUCKET;
1819
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_SNS_TOPIC_ARN;
20+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_SQS_QUEUE_URL;
1921
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME;
2022
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD;
2123
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
@@ -36,7 +38,7 @@ static SpanDataAssert sqs(
3638
.hasAttributesSatisfyingExactly(
3739
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
3840
equalTo(stringKey("aws.queue.name"), queueName),
39-
equalTo(stringKey("aws.queue.url"), queueUrl),
41+
equalTo(AWS_SQS_QUEUE_URL, queueUrl),
4042
satisfies(AWS_REQUEST_ID, v -> v.isInstanceOf(String.class)),
4143
equalTo(RPC_METHOD, rpcMethod),
4244
equalTo(RPC_SYSTEM, "aws-api"),
@@ -66,7 +68,7 @@ static SpanDataAssert s3(
6668
.hasNoParent()
6769
.hasAttributesSatisfyingExactly(
6870
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
69-
equalTo(stringKey("aws.bucket.name"), bucketName),
71+
equalTo(AWS_S3_BUCKET, bucketName),
7072
equalTo(RPC_METHOD, rpcMethod),
7173
equalTo(RPC_SYSTEM, "aws-api"),
7274
equalTo(RPC_SERVICE, "Amazon S3"),

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/S3ClientTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static io.opentelemetry.semconv.HttpAttributes.HTTP_REQUEST_METHOD;
1313
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1414
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
15+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_S3_BUCKET;
1516
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD;
1617
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
1718
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM;
@@ -132,7 +133,7 @@ public void beforeRequest(Request<?> request) {
132133
equalTo(RPC_SERVICE, "Amazon S3"),
133134
equalTo(RPC_METHOD, "HeadBucket"),
134135
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
135-
equalTo(stringKey("aws.bucket.name"), "someBucket"),
136+
equalTo(AWS_S3_BUCKET, "someBucket"),
136137
equalTo(ERROR_TYPE, IllegalStateException.class.getName()))));
137138
}
138139

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/S3TracingTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1919
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
2020
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_REQUEST_ID;
21+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_SQS_QUEUE_URL;
2122
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME;
2223
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID;
2324
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION;
@@ -99,7 +100,7 @@ void testS3UploadTriggersSqsMessage() {
99100
.hasParent(trace.getSpan(0))
100101
.hasAttributesSatisfyingExactly(
101102
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
102-
equalTo(stringKey("aws.queue.url"), queueUrl),
103+
equalTo(AWS_SQS_QUEUE_URL, queueUrl),
103104
satisfies(AWS_REQUEST_ID, v -> v.isInstanceOf(String.class)),
104105
equalTo(RPC_METHOD, "ReceiveMessage"),
105106
equalTo(RPC_SYSTEM, "aws-api"),
@@ -191,7 +192,7 @@ void testS3UploadTriggersSnsTopicNotificationThenCreatesSqsMessage() {
191192
.hasNoParent()
192193
.hasAttributesSatisfyingExactly(
193194
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
194-
equalTo(stringKey("aws.queue.url"), queueUrl),
195+
equalTo(AWS_SQS_QUEUE_URL, queueUrl),
195196
satisfies(AWS_REQUEST_ID, v -> v.isInstanceOf(String.class)),
196197
equalTo(RPC_METHOD, "ReceiveMessage"),
197198
equalTo(RPC_SYSTEM, "aws-api"),

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/SnsTracingTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1818
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
1919
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_REQUEST_ID;
20+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_SQS_QUEUE_URL;
2021
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME;
2122
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID;
2223
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION;
@@ -83,7 +84,7 @@ void testSnsNotificationTriggersSqsMessageConsumedWithAwsSdk() {
8384
.hasParent(trace.getSpan(0))
8485
.hasAttributesSatisfyingExactly(
8586
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
86-
equalTo(stringKey("aws.queue.url"), queueUrl),
87+
equalTo(AWS_SQS_QUEUE_URL, queueUrl),
8788
satisfies(AWS_REQUEST_ID, v -> v.isInstanceOf(String.class)),
8889
equalTo(RPC_METHOD, "ReceiveMessage"),
8990
equalTo(RPC_SYSTEM, "aws-api"),

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test_before_1_11_106/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/Aws0ClientTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1919
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
2020
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
21+
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_S3_BUCKET;
2122
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD;
2223
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
2324
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM;
@@ -137,7 +138,7 @@ private static Stream<Arguments> provideSendRequestArguments() {
137138
"PUT",
138139
1,
139140
(Function<AmazonS3Client, Object>) c -> c.createBucket("testbucket"),
140-
singletonMap("aws.bucket.name", "testbucket"),
141+
singletonMap(AWS_S3_BUCKET.getKey(), "testbucket"),
141142
""),
142143
Arguments.of(
143144
new AmazonS3Client().withEndpoint(server.httpUri().toString()),
@@ -146,7 +147,7 @@ private static Stream<Arguments> provideSendRequestArguments() {
146147
"GET",
147148
1,
148149
(Function<AmazonS3Client, Object>) c -> c.getObject("someBucket", "someKey"),
149-
singletonMap("aws.bucket.name", "someBucket"),
150+
singletonMap(AWS_S3_BUCKET.getKey(), "someBucket"),
150151
""),
151152
Arguments.of(
152153
new AmazonEC2Client().withEndpoint(server.httpUri().toString()),
@@ -266,7 +267,7 @@ void testSendS3RequestToClosedPort() {
266267
equalTo(RPC_SERVICE, "Amazon S3"),
267268
equalTo(RPC_METHOD, "GetObject"),
268269
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
269-
equalTo(stringKey("aws.bucket.name"), "someBucket"),
270+
equalTo(AWS_S3_BUCKET, "someBucket"),
270271
equalTo(ERROR_TYPE, AmazonClientException.class.getName()))));
271272
}
272273

@@ -303,7 +304,7 @@ public void beforeRequest(Request<?> request) {
303304
equalTo(RPC_SERVICE, "Amazon S3"),
304305
equalTo(RPC_METHOD, "GetObject"),
305306
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
306-
equalTo(stringKey("aws.bucket.name"), "someBucket"),
307+
equalTo(AWS_S3_BUCKET, "someBucket"),
307308
equalTo(ERROR_TYPE, IllegalStateException.class.getName()))));
308309
}
309310

@@ -342,7 +343,7 @@ void testTimeoutAndRetryErrorsAreNotCaptured() {
342343
equalTo(RPC_SERVICE, "Amazon S3"),
343344
equalTo(RPC_METHOD, "GetObject"),
344345
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
345-
equalTo(stringKey("aws.bucket.name"), "someBucket"),
346+
equalTo(AWS_S3_BUCKET, "someBucket"),
346347
equalTo(ERROR_TYPE, AmazonClientException.class.getName()))));
347348
}
348349

instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsExperimentalAttributes.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@
1111

1212
final class AwsExperimentalAttributes {
1313
static final AttributeKey<String> AWS_AGENT = stringKey("aws.agent");
14-
static final AttributeKey<String> AWS_BUCKET_NAME = stringKey("aws.bucket.name");
15-
static final AttributeKey<String> AWS_QUEUE_URL = stringKey("aws.queue.url");
1614
static final AttributeKey<String> AWS_QUEUE_NAME = stringKey("aws.queue.name");
17-
static final AttributeKey<String> AWS_STREAM_NAME = stringKey("aws.stream.name");
18-
static final AttributeKey<String> AWS_TABLE_NAME = stringKey("aws.table.name");
1915

2016
// Work is underway to add these two keys to the SemConv AWS registry, in line with other AWS
2117
// resources.

instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkAttributesExtractor.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ class AwsSdkAttributesExtractor implements AttributesExtractor<Request<?>, Respo
3333
stringKey("aws.step_functions.activity.arn");
3434
private static final AttributeKey<String> AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN =
3535
stringKey("aws.step_functions.state_machine.arn");
36+
private static final AttributeKey<String> AWS_S3_BUCKET = stringKey("aws.s3.bucket");
37+
private static final AttributeKey<String> AWS_SQS_QUEUE_URL = stringKey("aws.sqs.queue.url");
38+
private static final AttributeKey<String> AWS_KINESIS_STREAM_NAME =
39+
stringKey("aws.kinesis.stream_name");
3640

3741
// AmazonWebServiceResult is only available in v1.11.33 and later
3842
private static boolean canGetResponseMetadata() {
@@ -64,6 +68,10 @@ public void onStart(AttributesBuilder attributes, Context parentContext, Request
6468
AWS_STEP_FUNCTIONS_ACTIVITY_ARN,
6569
originalRequest,
6670
RequestAccess::getStepFunctionsActivityArn);
71+
setAttribute(attributes, AWS_S3_BUCKET, originalRequest, RequestAccess::getBucketName);
72+
setAttribute(attributes, AWS_SQS_QUEUE_URL, originalRequest, RequestAccess::getQueueUrl);
73+
setAttribute(
74+
attributes, AWS_KINESIS_STREAM_NAME, originalRequest, RequestAccess::getStreamName);
6775
}
6876

6977
@Override

instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkExperimentalAttributesExtractor.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@
66
package io.opentelemetry.instrumentation.awssdk.v1_11;
77

88
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_AGENT;
9-
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_BUCKET_NAME;
109
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_LAMBDA_ARN;
1110
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_LAMBDA_NAME;
1211
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_QUEUE_NAME;
13-
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_QUEUE_URL;
14-
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_STREAM_NAME;
15-
import static io.opentelemetry.instrumentation.awssdk.v1_11.AwsExperimentalAttributes.AWS_TABLE_NAME;
1612

1713
import com.amazonaws.Request;
1814
import com.amazonaws.Response;
@@ -32,11 +28,7 @@ public void onStart(AttributesBuilder attributes, Context parentContext, Request
3228
attributes.put(AWS_AGENT, COMPONENT_NAME);
3329

3430
Object originalRequest = request.getOriginalRequest();
35-
setRequestAttribute(attributes, AWS_BUCKET_NAME, originalRequest, RequestAccess::getBucketName);
36-
setRequestAttribute(attributes, AWS_QUEUE_URL, originalRequest, RequestAccess::getQueueUrl);
3731
setRequestAttribute(attributes, AWS_QUEUE_NAME, originalRequest, RequestAccess::getQueueName);
38-
setRequestAttribute(attributes, AWS_STREAM_NAME, originalRequest, RequestAccess::getStreamName);
39-
setRequestAttribute(attributes, AWS_TABLE_NAME, originalRequest, RequestAccess::getTableName);
4032
setRequestAttribute(attributes, AWS_LAMBDA_NAME, originalRequest, RequestAccess::getLambdaName);
4133
}
4234

instrumentation/aws-sdk/aws-sdk-1.11/metadata.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ semantic_conventions:
1313
configurations:
1414
- name: otel.instrumentation.aws-sdk.experimental-span-attributes
1515
description: >
16-
Enables the experimental span attributes `aws.agent`, `aws.bucket.name`, `aws.queue.url`,
17-
`aws.queue.name`, `aws.stream.name`, `aws.table.name`, `aws.lambda.function.arn` and
16+
Enables the experimental span attributes `aws.agent`, `aws.queue.name`, `aws.lambda.function.arn` and
1817
`aws.lambda.function.name` for AWS SDK instrumentation.
1918
type: boolean
2019
default: false

instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractDynamoDbClientTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
package io.opentelemetry.instrumentation.awssdk.v1_11;
77

8-
import static io.opentelemetry.api.common.AttributeKey.stringKey;
98
import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric;
109
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1110
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
@@ -55,7 +54,6 @@ public void sendRequestWithMockedResponse() throws Exception {
5554

5655
List<AttributeAssertion> additionalAttributes =
5756
Arrays.asList(
58-
equalTo(stringKey("aws.table.name"), "sometable"),
5957
equalTo(
6058
maybeStable(DB_SYSTEM),
6159
SemconvStability.emitStableDatabaseSemconv()

0 commit comments

Comments
 (0)