From 12f770e29854a2b56cd0368ab74c4e90502da18c Mon Sep 17 00:00:00 2001 From: zzhlogin Date: Wed, 11 Dec 2024 09:44:35 -0800 Subject: [PATCH] Upgrade to utilize latest otel V1.33.6 (#960) *Description of changes:* 1. Update the [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) version to the most latest otel v1.x -> v1.33.6, Which support JDK 21. 2. Update the [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) version to 1.39.0, which is the latest version support JDK 21. 3. Update contract tests environment to JDK 21 for test. Testing: Audited the upstream changelog, there is no breaking change from v1.33.0 to 1.33.6, only bug fix and version upgrades. All contract tests and smoke tests passed as expected. Running E2E test locally with the updated agent, making sure a service attributes and map shows as expected. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../opentelemetry-java-instrumentation.patch | 188 +++++++++--------- .github/patches/versions | 2 +- .github/workflows/main-build.yml | 4 +- .../nightly-upstream-snapshot-build.yml | 4 +- .github/workflows/pr-build.yml | 14 +- .../aws-sdk/aws-sdk-v1/build.gradle.kts | 2 +- .../aws-sdk/aws-sdk-v2/build.gradle.kts | 2 +- .../images/grpc/grpc-client/build.gradle.kts | 2 +- .../images/grpc/grpc-server/build.gradle.kts | 2 +- .../apache-http-client/build.gradle.kts | 2 +- .../native-http-client/build.gradle.kts | 2 +- .../netty-http-client/build.gradle.kts | 2 +- .../spring-mvc-client/build.gradle.kts | 2 +- .../netty-server/build.gradle.kts | 2 +- .../http-servers/spring-mvc/build.gradle.kts | 2 +- .../http-servers/tomcat/build.gradle.kts | 2 +- appsignals-tests/images/jdbc/build.gradle.kts | 2 +- .../kafka/kafka-consumers/build.gradle.kts | 2 +- .../kafka/kafka-producers/build.gradle.kts | 2 +- .../images/mock-collector/build.gradle.kts | 2 +- awsagentprovider/build.gradle.kts | 4 +- .../javaagent/providers/UdpExporterTest.java | 2 + dependencyManagement/build.gradle.kts | 9 +- scripts/docker/corretto-slim/Dockerfile | 2 +- 24 files changed, 141 insertions(+), 118 deletions(-) diff --git a/.github/patches/opentelemetry-java-instrumentation.patch b/.github/patches/opentelemetry-java-instrumentation.patch index 45d6bd3c69..6eda0e8374 100644 --- a/.github/patches/opentelemetry-java-instrumentation.patch +++ b/.github/patches/opentelemetry-java-instrumentation.patch @@ -250,23 +250,28 @@ index 0000000000..e890cb3c0f + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsExperimentalAttributes.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsExperimentalAttributes.java -index 3e8fddec5c..70e8eeae7f 100644 +index 3e8fddec5c..c0c2bb7de5 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsExperimentalAttributes.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsExperimentalAttributes.java -@@ -18,6 +18,32 @@ final class AwsExperimentalAttributes { - static final AttributeKey AWS_STREAM_NAME = stringKey("aws.stream.name"); +@@ -19,5 +19,37 @@ final class AwsExperimentalAttributes { static final AttributeKey AWS_TABLE_NAME = stringKey("aws.table.name"); static final AttributeKey AWS_REQUEST_ID = stringKey("aws.requestId"); + + static final AttributeKey AWS_AGENT_ID = stringKey("aws.bedrock.agent.id"); ++ + static final AttributeKey AWS_KNOWLEDGE_BASE_ID = + stringKey("aws.bedrock.knowledge_base.id"); ++ + static final AttributeKey AWS_DATA_SOURCE_ID = stringKey("aws.bedrock.data_source.id"); ++ + static final AttributeKey AWS_GUARDRAIL_ID = stringKey("aws.bedrock.guardrail.id"); ++ + static final AttributeKey AWS_GUARDRAIL_ARN = stringKey("aws.bedrock.guardrail.arn"); + + // TODO: Merge in gen_ai attributes in opentelemetry-semconv-incubating once upgrade to v1.26.0 + static final AttributeKey AWS_BEDROCK_RUNTIME_MODEL_ID = + stringKey("gen_ai.request.model"); ++ + static final AttributeKey AWS_BEDROCK_SYSTEM = stringKey("gen_ai.system"); + + static final AttributeKey AWS_STATE_MACHINE_ARN = @@ -283,11 +288,11 @@ index 3e8fddec5c..70e8eeae7f 100644 + + static final AttributeKey AWS_LAMBDA_RESOURCE_ID = + stringKey("aws.lambda.resource_mapping.id"); - ++ private AwsExperimentalAttributes() {} } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkExperimentalAttributesExtractor.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkExperimentalAttributesExtractor.java -index 245f09a5d8..178579a2b7 100644 +index 245f09a5d8..d2bdf1c987 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkExperimentalAttributesExtractor.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkExperimentalAttributesExtractor.java @@ -6,11 +6,23 @@ @@ -332,7 +337,7 @@ index 245f09a5d8..178579a2b7 100644 @Override public void onStart(AttributesBuilder attributes, Context parentContext, Request request) { -@@ -34,21 +51,30 @@ class AwsSdkExperimentalAttributesExtractor +@@ -34,21 +51,29 @@ class AwsSdkExperimentalAttributesExtractor attributes.put(AWS_ENDPOINT, request.getEndpoint().toString()); Object originalRequest = request.getOriginalRequest(); @@ -342,6 +347,15 @@ index 245f09a5d8..178579a2b7 100644 - setRequestAttribute(attributes, AWS_STREAM_NAME, originalRequest, RequestAccess::getStreamName); - setRequestAttribute(attributes, AWS_TABLE_NAME, originalRequest, RequestAccess::getTableName); - } +- +- private static void setRequestAttribute( +- AttributesBuilder attributes, +- AttributeKey key, +- Object request, +- Function getter) { +- String value = getter.apply(request); +- if (value != null) { +- attributes.put(key, value); + String requestClassName = originalRequest.getClass().getSimpleName(); + setAttribute(attributes, AWS_BUCKET_NAME, originalRequest, RequestAccess::getBucketName); + setAttribute(attributes, AWS_QUEUE_URL, originalRequest, RequestAccess::getQueueUrl); @@ -360,15 +374,6 @@ index 245f09a5d8..178579a2b7 100644 + setAttribute(attributes, AWS_LAMBDA_NAME, originalRequest, RequestAccess::getLambdaName); + setAttribute( + attributes, AWS_LAMBDA_RESOURCE_ID, originalRequest, RequestAccess::getLambdaResourceId); - -- private static void setRequestAttribute( -- AttributesBuilder attributes, -- AttributeKey key, -- Object request, -- Function getter) { -- String value = getter.apply(request); -- if (value != null) { -- attributes.put(key, value); + // Get serviceName defined in the AWS Java SDK V1 Request class. + String serviceName = request.getServiceName(); + // Extract request attributes only for Bedrock services. @@ -377,7 +382,7 @@ index 245f09a5d8..178579a2b7 100644 } } -@@ -59,12 +85,118 @@ class AwsSdkExperimentalAttributesExtractor +@@ -59,12 +84,117 @@ class AwsSdkExperimentalAttributesExtractor Request request, @Nullable Response response, @Nullable Throwable error) { @@ -402,15 +407,15 @@ index 245f09a5d8..178579a2b7 100644 + if (requestId != null) { + attributes.put(AWS_REQUEST_ID, requestId); + } - } ++ } + // Get serviceName defined in the AWS Java SDK V1 Request class. + String serviceName = request.getServiceName(); + // Extract response attributes for Bedrock services + if (awsResp != null && isBedrockService(serviceName)) { + bedrockOnEnd(attributes, awsResp, serviceName); -+ } -+ } -+ } + } + } + } + + private static void bedrockOnStart( + AttributesBuilder attributes, @@ -445,7 +450,6 @@ index 245f09a5d8..178579a2b7 100644 + Function getter = RequestAccess::getModelId; + String modelId = getter.apply(originalRequest); + attributes.put(AWS_BEDROCK_RUNTIME_MODEL_ID, modelId); -+ + break; + default: + break; @@ -498,8 +502,8 @@ index 245f09a5d8..178579a2b7 100644 + String value = getter.apply(request); + if (value != null) { + attributes.put(key, value); - } - } ++ } ++ } } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/RequestAccess.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/RequestAccess.java index bb2ae9266c..36e216047f 100644 @@ -750,7 +754,7 @@ index 548631e9f1..51483839a7 100644 // needed for SQS - using emq directly as localstack references emq v0.15.7 ie WITHOUT AWS trace header propagation implementation("org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0") diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractAws1ClientTest.groovy b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractAws1ClientTest.groovy -index 95e6ed8985..613a93fc7b 100644 +index 95e6ed8985..48fb10624e 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractAws1ClientTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractAws1ClientTest.groovy @@ -27,6 +27,24 @@ import com.amazonaws.services.rds.AmazonRDSClientBuilder @@ -786,12 +790,12 @@ index 95e6ed8985..613a93fc7b 100644 import static io.opentelemetry.api.trace.SpanKind.CLIENT import static io.opentelemetry.api.trace.SpanKind.PRODUCER -@@ -156,6 +175,88 @@ abstract class AbstractAws1ClientTest extends InstrumentationSpecification { +@@ -156,6 +175,85 @@ abstract class AbstractAws1ClientTest extends InstrumentationSpecification { """ + "Bedrock" | "GetGuardrail" | "GET" | "/" | -+ AmazonBedrockClientBuilder.standard() | { c -> c.getGuardrail(new GetGuardrailRequest().withGuardrailIdentifier("guardrailId")) } | ["aws.bedrock.guardrail.id":"guardrailId", "aws.bedrock.guardrail.arn": "guardrailArn"] | """ ++ AmazonBedrockClientBuilder.standard() | { c -> c.getGuardrail(new GetGuardrailRequest().withGuardrailIdentifier("guardrailId")) } | ["aws.bedrock.guardrail.id":"guardrailId", "aws.bedrock.guardrail.arn": "guardrailArn"] | """ + { + "blockedInputMessaging": "string", + "blockedOutputsMessaging": "string", @@ -823,10 +827,7 @@ index 95e6ed8985..613a93fc7b 100644 + "AWSBedrockAgent" | "GetKnowledgeBase" | "GET" | "/" | AWSBedrockAgentClientBuilder.standard() | { c -> c.getKnowledgeBase(new GetKnowledgeBaseRequest().withKnowledgeBaseId("knowledgeBaseId")) } | ["aws.bedrock.knowledge_base.id": "knowledgeBaseId"] | "" + "AWSBedrockAgent" | "GetDataSource" | "GET" | "/" | AWSBedrockAgentClientBuilder.standard() | { c -> c.getDataSource(new GetDataSourceRequest().withDataSourceId("datasourceId").withKnowledgeBaseId("knowledgeBaseId")) } | ["aws.bedrock.data_source.id": "datasourceId"] | "" + "BedrockRuntime" | "InvokeModel" | "POST" | "/" | AmazonBedrockRuntimeClientBuilder.standard() | -+ { c -> c.invokeModel( -+ new InvokeModelRequest().withModelId("anthropic.claude-v2").withBody(StandardCharsets.UTF_8.encode( -+ "{\"prompt\":\"Hello, world!\",\"temperature\":0.7,\"top_p\":0.9,\"max_tokens_to_sample\":100}\n" -+ ))) } | ["gen_ai.request.model": "anthropic.claude-v2", "gen_ai.system": "aws_bedrock"] | """ ++ { c -> c.invokeModel(new InvokeModelRequest().withModelId("anthropic.claude-v2").withBody(StandardCharsets.UTF_8.encode("{\"prompt\":\"Hello, world!\",\"temperature\":0.7,\"top_p\":0.9,\"max_tokens_to_sample\":100}\n"))) } | ["gen_ai.request.model": "anthropic.claude-v2", "gen_ai.system": "aws_bedrock"] | """ + { + "completion": " Here is a simple explanation of black ", + "stop_reason": "length", @@ -834,17 +835,17 @@ index 95e6ed8985..613a93fc7b 100644 + } + """ + "AWSStepFunctions" | "DescribeStateMachine" | "POST" | "/" | AWSStepFunctionsClientBuilder.standard() -+ | { c -> c.describeStateMachine(new DescribeStateMachineRequest().withStateMachineArn("stateMachineArn")) } -+ | ["aws.stepfunctions.state_machine.arn": "stateMachineArn"] -+ | "" ++ | { c -> c.describeStateMachine(new DescribeStateMachineRequest().withStateMachineArn("stateMachineArn")) } ++ | ["aws.stepfunctions.state_machine.arn": "stateMachineArn"] ++ | "" + "AWSStepFunctions" | "DescribeActivity" | "POST" | "/" | AWSStepFunctionsClientBuilder.standard() -+ | { c -> c.describeActivity(new DescribeActivityRequest().withActivityArn("activityArn")) } -+ | ["aws.stepfunctions.activity.arn": "activityArn"] -+ | "" ++ | { c -> c.describeActivity(new DescribeActivityRequest().withActivityArn("activityArn")) } ++ | ["aws.stepfunctions.activity.arn": "activityArn"] ++ | "" + "SNS" | "Publish" | "POST" | "/" | AmazonSNSClientBuilder.standard() -+ | { c -> c.publish(new PublishRequest().withMessage("message").withTopicArn("topicArn")) } -+ | ["aws.sns.topic.arn": "topicArn"] -+ | """ ++ | { c -> c.publish(new PublishRequest().withMessage("message").withTopicArn("topicArn")) } ++ | ["aws.sns.topic.arn": "topicArn"] ++ | """ + + + 567910cd-659e-55d4-8ccb-5aaf14679dc0 @@ -855,9 +856,9 @@ index 95e6ed8985..613a93fc7b 100644 + + """ + "AWSSecretsManager" | "CreateSecret" | "POST" | "/" | AWSSecretsManagerClientBuilder.standard() -+ | { c -> c.createSecret(new CreateSecretRequest().withName("secretName").withSecretString("secretValue")) } -+ | ["aws.secretsmanager.secret.arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3"] -+ | """ ++ | { c -> c.createSecret(new CreateSecretRequest().withName("secretName").withSecretString("secretValue")) } ++ | ["aws.secretsmanager.secret.arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3"] ++ | """ + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name":"MyTestDatabaseSecret", @@ -865,18 +866,18 @@ index 95e6ed8985..613a93fc7b 100644 + } + """ + "AWSLambda" | "GetEventSourceMapping" | "GET" | "/" | AWSLambdaClientBuilder.standard() -+ | { c -> c.getEventSourceMapping(new GetEventSourceMappingRequest().withUUID("uuid")) } -+ | ["aws.lambda.resource_mapping.id": "uuid"] -+ | "" ++ | { c -> c.getEventSourceMapping(new GetEventSourceMappingRequest().withUUID("uuid")) } ++ | ["aws.lambda.resource_mapping.id": "uuid"] ++ | "" + "AWSLambda" | "GetFunction" | "GET" | "/" | AWSLambdaClientBuilder.standard() -+ | { c-> c.getFunction(new GetFunctionRequest().withFunctionName("functionName")) } -+ | ["aws.lambda.function.name": "functionName"] -+ | "" ++ | { c-> c.getFunction(new GetFunctionRequest().withFunctionName("functionName")) } ++ | ["aws.lambda.function.name": "functionName"] ++ | "" } def "send #operation request to closed port"() { diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts -index 8f442b268b..24c14dec4e 100644 +index 3b6efbd696..9f4487d727 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts @@ -84,6 +84,9 @@ dependencies { @@ -886,11 +887,11 @@ index 8f442b268b..24c14dec4e 100644 + testLibrary("software.amazon.awssdk:sfn:2.2.0") + testLibrary("software.amazon.awssdk:secretsmanager:2.2.0") + testLibrary("software.amazon.awssdk:lambda:2.2.0") + } - // last version that does not use json protocol - latestDepTestLibrary("software.amazon.awssdk:sqs:2.21.17") + val latestDepTest = findProperty("testLatestDeps") as Boolean diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts -index e73abc7bc3..d387a7472c 100644 +index 6e0ea36a64..68b9c72b7d 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts @@ -21,6 +21,9 @@ dependencies { @@ -900,11 +901,11 @@ index e73abc7bc3..d387a7472c 100644 + testLibrary("software.amazon.awssdk:sfn:2.2.0") + testLibrary("software.amazon.awssdk:secretsmanager:2.2.0") + testLibrary("software.amazon.awssdk:lambda:2.2.0") + } - // last version that does not use json protocol - latestDepTestLibrary("software.amazon.awssdk:sqs:2.21.17") + tasks { diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts -index 081d542e76..4f71a06a57 100644 +index 862df156ae..2ed33d6f03 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts @@ -19,6 +19,9 @@ dependencies { @@ -914,9 +915,9 @@ index 081d542e76..4f71a06a57 100644 + testLibrary("software.amazon.awssdk:sfn:2.2.0") + testLibrary("software.amazon.awssdk:secretsmanager:2.2.0") + testLibrary("software.amazon.awssdk:lambda:2.2.0") + } - // last version that does not use json protocol - latestDepTestLibrary("software.amazon.awssdk:sqs:2.21.17") + testing { diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsExperimentalAttributes.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsExperimentalAttributes.java new file mode 100644 index 0000000000..e1cb180d75 @@ -971,7 +972,7 @@ index 0000000000..e1cb180d75 + private AwsExperimentalAttributes() {} +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequest.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequest.java -index 54253d0f7b..5326400f7e 100644 +index 54253d0f7b..2374bd4a52 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequest.java @@ -5,10 +5,20 @@ @@ -995,10 +996,11 @@ index 54253d0f7b..5326400f7e 100644 import static io.opentelemetry.instrumentation.awssdk.v2_2.FieldMapping.request; import static io.opentelemetry.instrumentation.awssdk.v2_2.FieldMapping.response; -@@ -32,6 +42,49 @@ enum AwsSdkRequest { +@@ -32,6 +42,54 @@ enum AwsSdkRequest { S3Request(S3, "S3Request"), SqsRequest(SQS, "SqsRequest"), KinesisRequest(KINESIS, "KinesisRequest"), ++ + BedrockRequest(BEDROCK, "BedrockRequest"), + BedrockAgentRuntimeRequest(BEDROCKAGENTRUNTIMEOPERATION, "BedrockAgentRuntimeRequest"), + BedrockRuntimeRequest(BEDROCKRUNTIME, "BedrockRuntimeRequest"), @@ -1038,18 +1040,22 @@ index 54253d0f7b..5326400f7e 100644 + BedrockListDataSourcesRequest(BEDROCKKNOWLEDGEBASEOPERATION, "ListDataSourcesRequest"), + BedrockUpdateAgentKnowledgeBaseRequest( + BEDROCKKNOWLEDGEBASEOPERATION, "UpdateAgentKnowledgeBaseRequest"), ++ + SfnRequest(STEPFUNCTION, "SfnRequest"), ++ + SnsRequest(SNS, "SnsRequest"), ++ + SecretsManagerRequest(SECRETSMANAGER, "SecretsManagerRequest"), ++ + LambdaRequest(LAMBDA, "LambdaRequest"), // specific requests BatchGetItem( DYNAMODB, diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequestType.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequestType.java -index 9062f2aa17..9511cd6f05 100644 +index 9062f2aa17..1c34035588 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequestType.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkRequestType.java -@@ -5,17 +5,62 @@ +@@ -5,17 +5,69 @@ package io.opentelemetry.instrumentation.awssdk.v2_2; @@ -1084,9 +1090,13 @@ index 9062f2aa17..9511cd6f05 100644 - KINESIS(request("aws.stream.name", "StreamName")), - DYNAMODB(request("aws.table.name", "TableName")); + S3(request(AWS_BUCKET_NAME.getKey(), "Bucket")), ++ + SQS(request(AWS_QUEUE_URL.getKey(), "QueueUrl"), request(AWS_QUEUE_NAME.getKey(), "QueueName")), ++ + KINESIS(request(AWS_STREAM_NAME.getKey(), "StreamName")), ++ + DYNAMODB(request(AWS_TABLE_NAME.getKey(), "TableName")), ++ + BEDROCK( + request(AWS_GUARDRAIL_ID.getKey(), "guardrailIdentifier"), + response(AWS_GUARDRAIL_ARN.getKey(), "guardrailArn")), @@ -1107,8 +1117,11 @@ index 9062f2aa17..9511cd6f05 100644 + STEPFUNCTION( + request(AWS_STATE_MACHINE_ARN.getKey(), "stateMachineArn"), + request(AWS_STEP_FUNCTIONS_ACTIVITY_ARN.getKey(), "activityArn")), ++ + SNS(request(AWS_SNS_TOPIC_ARN.getKey(), "TopicArn")), ++ + SECRETSMANAGER(response(AWS_SECRET_ARN.getKey(), "ARN")), ++ + LAMBDA( + request(AWS_LAMBDA_NAME.getKey(), "FunctionName"), + request(AWS_LAMBDA_RESOURCE_ID.getKey(), "UUID"), @@ -1149,7 +1162,7 @@ index f717b1efc4..352b02093e 100644 @Override diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts -index 2a7f14d14b..584b8dda6c 100644 +index 9981aa9a19..1caed55e62 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts @@ -19,6 +19,9 @@ dependencies { @@ -1161,12 +1174,12 @@ index 2a7f14d14b..584b8dda6c 100644 + compileOnly("software.amazon.awssdk:secretsmanager:2.2.0") // needed for SQS - using emq directly as localstack references emq v0.15.7 ie WITHOUT AWS trace header propagation - implementation("org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0") + implementation("org.elasticmq:elasticmq-rest-sqs_2.13:1.5.1") diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy -index 53390c8d85..692cd005eb 100644 +index 7c152bb91b..b30b8fa2c7 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy -@@ -33,8 +33,19 @@ import software.amazon.awssdk.services.sqs.SqsAsyncClient +@@ -35,6 +35,16 @@ import software.amazon.awssdk.services.sqs.SqsAsyncClient import software.amazon.awssdk.services.sqs.SqsClient import software.amazon.awssdk.services.sqs.model.CreateQueueRequest import software.amazon.awssdk.services.sqs.model.SendMessageRequest @@ -1182,11 +1195,8 @@ index 53390c8d85..692cd005eb 100644 +import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueRequest import spock.lang.Unroll -+ - import java.time.Duration - import java.util.concurrent.Future - -@@ -120,7 +131,31 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { + import java.nio.charset.StandardCharsets +@@ -144,6 +154,29 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { "$SemanticAttributes.MESSAGING_SYSTEM" "AmazonSQS" } else if (service == "Kinesis") { "aws.stream.name" "somestream" @@ -1214,29 +1224,27 @@ index 53390c8d85..692cd005eb 100644 + } else if (service == "SecretsManager") { + "aws.secretsmanager.secret.arn" "someSecretArn" } -+ } } - } -@@ -162,6 +197,41 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { +@@ -218,6 +251,41 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { 0ac9cda2-bbf4-11d3-f92b-31fa5e8dbc99 """ + "Sfn" | "DescribeStateMachine" | "POST" | "UNKNOWN" | SfnClient.builder() -+ | { c -> c.describeStateMachine(DescribeStateMachineRequest.builder().stateMachineArn("stateMachineArn").build()) } -+ | "" ++ | { c -> c.describeStateMachine(DescribeStateMachineRequest.builder().stateMachineArn("stateMachineArn").build()) } ++ | "" + "Sfn" | "DescribeActivity" | "POST" | "UNKNOWN" | SfnClient.builder() -+ | { c -> c.describeActivity(DescribeActivityRequest.builder().activityArn("activityArn").build()) } -+ | "" ++ | { c -> c.describeActivity(DescribeActivityRequest.builder().activityArn("activityArn").build()) } ++ | "" + "Lambda" | "GetFunction" | "GET" | "UNKNOWN" | LambdaClient.builder() -+ | { c -> c.getFunction(GetFunctionRequest.builder().functionName("functionName").build()) } -+ | "" ++ | { c -> c.getFunction(GetFunctionRequest.builder().functionName("functionName").build()) } ++ | "" + "Lambda" | "GetEventSourceMapping" | "GET" |"UNKNOWN" | LambdaClient.builder() -+ | { c -> c.getEventSourceMapping(GetEventSourceMappingRequest.builder().uuid("sourceEventId").build()) } -+ | "" ++ | { c -> c.getEventSourceMapping(GetEventSourceMappingRequest.builder().uuid("sourceEventId").build()) } ++ | "" + "Sns" | "Publish" | "POST" | "d74b8436-ae13-5ab4-a9ff-ce54dfea72a0" | SnsClient.builder() -+ | { c -> c.publish(PublishRequest.builder().topicArn("topicArn").message("message").build()) } -+ | """ ++ | { c -> c.publish(PublishRequest.builder().topicArn("topicArn").message("message").build()) } ++ | """ + + + 567910cd-659e-55d4-8ccb-5aaf14679dc0 @@ -1247,8 +1255,8 @@ index 53390c8d85..692cd005eb 100644 + + """ + "SecretsManager" | "GetSecretValue" | "POST" | "UNKNOWN" | SecretsManagerClient.builder() -+ | { c -> c.getSecretValue(GetSecretValueRequest.builder().secretId("someSecret1").build()) } -+ | """ ++ | { c -> c.getSecretValue(GetSecretValueRequest.builder().secretId("someSecret1").build()) } ++ | """ + { + "ARN":"someSecretArn", + "CreatedDate":1.523477145713E9, @@ -1345,14 +1353,14 @@ index 8b0fd636be..b9856f1dc9 100644 exec.schedule( new Runnable() { diff --git a/version.gradle.kts b/version.gradle.kts -index fdf57bdbea..c38a2e00f3 100644 +index 5217d396e2..66cc8ecb2a 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -1,5 +1,5 @@ --val stableVersion = "1.32.1" --val alphaVersion = "1.32.1-alpha" -+val stableVersion = "1.32.1-adot2" -+val alphaVersion = "1.32.1-adot2-alpha" +-val stableVersion = "1.33.6" +-val alphaVersion = "1.33.6-alpha" ++val stableVersion = "1.33.6-adot1" ++val alphaVersion = "1.33.6-adot1-alpha" allprojects { if (findProperty("otel.stable") != "true") { diff --git a/.github/patches/versions b/.github/patches/versions index 5ea226511e..46fc43aaa1 100644 --- a/.github/patches/versions +++ b/.github/patches/versions @@ -1 +1 @@ -OTEL_JAVA_INSTRUMENTATION_VERSION=v1.32.1 \ No newline at end of file +OTEL_JAVA_INSTRUMENTATION_VERSION=v1.33.6 \ No newline at end of file diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 8248c3d26f..07f8b29fa2 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -194,7 +194,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 @@ -219,7 +219,7 @@ jobs: key: ${{ runner.os }}-maven-local-${{ hashFiles('.github/patches/opentelemetry-java*.patch') }} - name: Pull base image of Contract Tests Sample Apps - run: docker pull public.ecr.aws/docker/library/amazoncorretto:17-alpine + run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine - name: Build snapshot with Gradle uses: gradle/gradle-build-action@v3 diff --git a/.github/workflows/nightly-upstream-snapshot-build.yml b/.github/workflows/nightly-upstream-snapshot-build.yml index ec7c607354..a364358265 100644 --- a/.github/workflows/nightly-upstream-snapshot-build.yml +++ b/.github/workflows/nightly-upstream-snapshot-build.yml @@ -120,7 +120,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 @@ -136,7 +136,7 @@ jobs: registry: public.ecr.aws - name: Pull base image of Contract Tests Sample Apps - run: docker pull public.ecr.aws/docker/library/amazoncorretto:17-alpine + run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine - name: Build snapshot with Gradle uses: gradle/gradle-build-action@v3 diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 38989dc65c..9e47a15bce 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -81,9 +81,15 @@ jobs: with: arguments: build integrationTests --stacktrace -PenableCoverage=true -PlocalDocker=true + - name: Set up Java version for tests + uses: actions/setup-java@v4 + with: + java-version: 21 + distribution: temurin + - name: Pull base image of Contract Tests Sample Apps if: ${{ matrix.os == 'ubuntu-latest' }} - run: docker pull public.ecr.aws/docker/library/amazoncorretto:17-alpine + run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine - name: Run contract tests uses: gradle/gradle-build-action@v3 @@ -91,6 +97,12 @@ jobs: with: arguments: contractTests -PlocalDocker=true -i + - name: Set up Java version for image build + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: temurin + - name: Get current version if: ${{ matrix.os == 'ubuntu-latest' }} shell: bash diff --git a/appsignals-tests/images/aws-sdk/aws-sdk-v1/build.gradle.kts b/appsignals-tests/images/aws-sdk/aws-sdk-v1/build.gradle.kts index 77fad5427c..4aa5ea57a0 100644 --- a/appsignals-tests/images/aws-sdk/aws-sdk-v1/build.gradle.kts +++ b/appsignals-tests/images/aws-sdk/aws-sdk-v1/build.gradle.kts @@ -57,7 +57,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-aws-sdk-v1", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/aws-sdk/aws-sdk-v2/build.gradle.kts b/appsignals-tests/images/aws-sdk/aws-sdk-v2/build.gradle.kts index 0ba17450d6..ee5e4b9105 100644 --- a/appsignals-tests/images/aws-sdk/aws-sdk-v2/build.gradle.kts +++ b/appsignals-tests/images/aws-sdk/aws-sdk-v2/build.gradle.kts @@ -57,7 +57,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-aws-sdk-v2", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/grpc/grpc-client/build.gradle.kts b/appsignals-tests/images/grpc/grpc-client/build.gradle.kts index 9b529bb23f..c113cb447c 100644 --- a/appsignals-tests/images/grpc/grpc-client/build.gradle.kts +++ b/appsignals-tests/images/grpc/grpc-client/build.gradle.kts @@ -41,7 +41,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "grpc-client", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/grpc/grpc-server/build.gradle.kts b/appsignals-tests/images/grpc/grpc-server/build.gradle.kts index 73be8257d2..a7e0728029 100644 --- a/appsignals-tests/images/grpc/grpc-server/build.gradle.kts +++ b/appsignals-tests/images/grpc/grpc-server/build.gradle.kts @@ -46,7 +46,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "grpc-server", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-clients/apache-http-client/build.gradle.kts b/appsignals-tests/images/http-clients/apache-http-client/build.gradle.kts index 8315cf4bdc..5ba716f7c1 100644 --- a/appsignals-tests/images/http-clients/apache-http-client/build.gradle.kts +++ b/appsignals-tests/images/http-clients/apache-http-client/build.gradle.kts @@ -43,7 +43,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-apache-http-client-app", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-clients/native-http-client/build.gradle.kts b/appsignals-tests/images/http-clients/native-http-client/build.gradle.kts index 127a3787f9..2827da3637 100644 --- a/appsignals-tests/images/http-clients/native-http-client/build.gradle.kts +++ b/appsignals-tests/images/http-clients/native-http-client/build.gradle.kts @@ -42,7 +42,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-native-http-client-app", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-clients/netty-http-client/build.gradle.kts b/appsignals-tests/images/http-clients/netty-http-client/build.gradle.kts index 37813f7a0a..ac481d4769 100644 --- a/appsignals-tests/images/http-clients/netty-http-client/build.gradle.kts +++ b/appsignals-tests/images/http-clients/netty-http-client/build.gradle.kts @@ -43,7 +43,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-netty-http-client-app", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-clients/spring-mvc-client/build.gradle.kts b/appsignals-tests/images/http-clients/spring-mvc-client/build.gradle.kts index 08a644c838..4235fa0d54 100644 --- a/appsignals-tests/images/http-clients/spring-mvc-client/build.gradle.kts +++ b/appsignals-tests/images/http-clients/spring-mvc-client/build.gradle.kts @@ -39,7 +39,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-spring-mvc-client-app", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-servers/netty-server/build.gradle.kts b/appsignals-tests/images/http-servers/netty-server/build.gradle.kts index e017e85e4d..307ab89146 100644 --- a/appsignals-tests/images/http-servers/netty-server/build.gradle.kts +++ b/appsignals-tests/images/http-servers/netty-server/build.gradle.kts @@ -42,7 +42,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-http-server-netty-server", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-servers/spring-mvc/build.gradle.kts b/appsignals-tests/images/http-servers/spring-mvc/build.gradle.kts index e39d7ff7d6..5ed341d6f6 100644 --- a/appsignals-tests/images/http-servers/spring-mvc/build.gradle.kts +++ b/appsignals-tests/images/http-servers/spring-mvc/build.gradle.kts @@ -41,7 +41,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-http-server-spring-mvc", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/http-servers/tomcat/build.gradle.kts b/appsignals-tests/images/http-servers/tomcat/build.gradle.kts index a97ed1ab6c..1ff2464e5b 100644 --- a/appsignals-tests/images/http-servers/tomcat/build.gradle.kts +++ b/appsignals-tests/images/http-servers/tomcat/build.gradle.kts @@ -44,7 +44,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-http-server-tomcat", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/jdbc/build.gradle.kts b/appsignals-tests/images/jdbc/build.gradle.kts index 983992c7cb..073f6d4c40 100644 --- a/appsignals-tests/images/jdbc/build.gradle.kts +++ b/appsignals-tests/images/jdbc/build.gradle.kts @@ -45,7 +45,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-jdbc-app", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/kafka/kafka-consumers/build.gradle.kts b/appsignals-tests/images/kafka/kafka-consumers/build.gradle.kts index 29fc199788..91ef8a7528 100644 --- a/appsignals-tests/images/kafka/kafka-consumers/build.gradle.kts +++ b/appsignals-tests/images/kafka/kafka-consumers/build.gradle.kts @@ -47,7 +47,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-kafka-kafka-consumers", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/kafka/kafka-producers/build.gradle.kts b/appsignals-tests/images/kafka/kafka-producers/build.gradle.kts index ffc26bb0c2..a7e0b98f08 100644 --- a/appsignals-tests/images/kafka/kafka-producers/build.gradle.kts +++ b/appsignals-tests/images/kafka/kafka-producers/build.gradle.kts @@ -47,7 +47,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-tests-kafka-kafka-producers", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/appsignals-tests/images/mock-collector/build.gradle.kts b/appsignals-tests/images/mock-collector/build.gradle.kts index 5b9883299c..16c1715b81 100644 --- a/appsignals-tests/images/mock-collector/build.gradle.kts +++ b/appsignals-tests/images/mock-collector/build.gradle.kts @@ -42,7 +42,7 @@ tasks { } jib { configureImages( - "public.ecr.aws/docker/library/amazoncorretto:17-alpine", + "public.ecr.aws/docker/library/amazoncorretto:21-alpine", "aws-appsignals-mock-collector", localDocker = rootProject.property("localDocker")!! == "true", multiPlatform = false, diff --git a/awsagentprovider/build.gradle.kts b/awsagentprovider/build.gradle.kts index e052e5eb47..3d3b76a15b 100644 --- a/awsagentprovider/build.gradle.kts +++ b/awsagentprovider/build.gradle.kts @@ -51,8 +51,8 @@ dependencies { testRuntimeOnly("io.opentelemetry:opentelemetry-exporter-otlp-common") compileOnly("com.google.code.findbugs:jsr305:3.0.2") - testImplementation("org.mockito:mockito-core:5.3.1") - testImplementation("org.mockito:mockito-junit-jupiter:5.8.0") + testImplementation("org.mockito:mockito-core:5.14.2") + testImplementation("org.mockito:mockito-junit-jupiter:5.14.2") } tasks { diff --git a/awsagentprovider/src/test/java/software/amazon/opentelemetry/javaagent/providers/UdpExporterTest.java b/awsagentprovider/src/test/java/software/amazon/opentelemetry/javaagent/providers/UdpExporterTest.java index 1494b30c98..2a1cea7106 100644 --- a/awsagentprovider/src/test/java/software/amazon/opentelemetry/javaagent/providers/UdpExporterTest.java +++ b/awsagentprovider/src/test/java/software/amazon/opentelemetry/javaagent/providers/UdpExporterTest.java @@ -129,7 +129,9 @@ private SpanData buildSpanDataMock() { when(mockSpanData.getParentSpanContext()).thenReturn(parentSpanContextMock); SpanContext spanContextMock = mock(SpanContext.class); + TraceFlags spanContextTraceFlagsMock = mock(TraceFlags.class); when(spanContextMock.isValid()).thenReturn(true); + when(spanContextMock.getTraceFlags()).thenReturn(spanContextTraceFlagsMock); when(mockSpanData.getSpanContext()).thenReturn(spanContextMock); TraceState traceState = TraceState.builder().build(); diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 590ea7f35f..6394ab93c8 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -27,8 +27,8 @@ data class DependencySet(val group: String, val version: String, val modules: Li val TEST_SNAPSHOTS = rootProject.findProperty("testUpstreamSnapshots") == "true" // This is the version of the upstream instrumentation BOM -val otelVersion = "1.32.1-adot2" -val otelSnapshotVersion = "1.33.0" +val otelVersion = "1.33.6-adot1" +val otelSnapshotVersion = "1.33.6" val otelAlphaVersion = if (!TEST_SNAPSHOTS) "$otelVersion-alpha" else "$otelSnapshotVersion-alpha-SNAPSHOT" val otelJavaAgentVersion = if (!TEST_SNAPSHOTS) otelVersion else "$otelSnapshotVersion-SNAPSHOT" // All versions below are only used in testing and do not affect the released artifact. @@ -73,10 +73,11 @@ val DEPENDENCIES = listOf( "commons-logging:commons-logging:1.2", "com.sparkjava:spark-core:2.9.4", "com.squareup.okhttp3:okhttp:4.12.0", - "io.opentelemetry.contrib:opentelemetry-aws-xray:1.32.0", - "io.opentelemetry.contrib:opentelemetry-aws-resources:1.32.0-alpha", + "io.opentelemetry.contrib:opentelemetry-aws-xray:1.39.0", + "io.opentelemetry.contrib:opentelemetry-aws-resources:1.39.0-alpha", "io.opentelemetry.proto:opentelemetry-proto:1.0.0-alpha", "io.opentelemetry.javaagent:opentelemetry-javaagent:$otelJavaAgentVersion", + "io.opentelemetry:opentelemetry-extension-aws:1.20.1", "net.bytebuddy:byte-buddy:1.14.10", ) diff --git a/scripts/docker/corretto-slim/Dockerfile b/scripts/docker/corretto-slim/Dockerfile index b9c97e3781..5303d4d2c0 100644 --- a/scripts/docker/corretto-slim/Dockerfile +++ b/scripts/docker/corretto-slim/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/docker/library/amazoncorretto:17-alpine-jdk +FROM public.ecr.aws/docker/library/amazoncorretto:21-alpine-jdk # Copied from https://github.com/corretto/corretto-docker/blob/master/11/jre/alpine/Dockerfile RUN apk update && apk add binutils && jlink --endian little --release-info $JAVA_HOME/release \