diff --git a/.github/patches/opentelemetry-java-instrumentation.patch b/.github/patches/opentelemetry-java-instrumentation.patch index d4b26b1431..c111117b6b 100644 --- a/.github/patches/opentelemetry-java-instrumentation.patch +++ b/.github/patches/opentelemetry-java-instrumentation.patch @@ -1,8 +1,8 @@ diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts -index 98def282f8..65fd6a8a13 100644 +index 2772032e73..c84a6662cf 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts -@@ -104,7 +104,7 @@ val DEPENDENCIES = listOf( +@@ -101,7 +101,7 @@ val DEPENDENCIES = listOf( "io.netty:netty:3.10.6.Final", "io.opentelemetry.contrib:opentelemetry-azure-resources:${otelContribVersion}", "io.opentelemetry.contrib:opentelemetry-aws-resources:${otelContribVersion}", @@ -11,31 +11,16 @@ index 98def282f8..65fd6a8a13 100644 "io.opentelemetry.contrib:opentelemetry-gcp-resources:${otelContribVersion}", "io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources:${otelContribVersion}", "io.opentelemetry.contrib:opentelemetry-baggage-processor:${otelContribVersion}", -diff --git a/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/TomcatIntegrationTest.java b/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/TomcatIntegrationTest.java -index 1234567890..abcdef1234 100644 ---- a/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/TomcatIntegrationTest.java -+++ b/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/TomcatIntegrationTest.java -@@ -20,8 +20,8 @@ public class TomcatIntegrationTest extends TargetSystemTest { - - @ParameterizedTest - @CsvSource({ -+ // TODO: Remove this patch after we no longer depend on 2.18.1 of opentelemetry-java-instrumentation. - "tomcat:10.0, https://tomcat.apache.org/tomcat-10.0-doc/appdev/sample/sample.war", -- "tomcat:9.0, https://tomcat.apache.org/tomcat-9.0-doc/appdev/sample/sample.war" - }) - void testCollectedMetrics(String dockerImageName, String sampleWebApplicationUrl) - throws Exception { + diff --git a/version.gradle.kts b/version.gradle.kts -index 023d04703c..ec9690086c 100644 +index 282db803a9..5e7f1c6775 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -1,5 +1,5 @@ --val stableVersion = "2.18.1" --val alphaVersion = "2.18.1-alpha" -+val stableVersion = "2.18.1-adot1" -+val alphaVersion = "2.18.1-adot1-alpha" +-val stableVersion = "2.20.1" +-val alphaVersion = "2.20.1-alpha" ++val stableVersion = "2.20.1-adot1" ++val alphaVersion = "2.20.1-adot1-alpha" allprojects { if (findProperty("otel.stable") != "true") { --- -2.45.1 diff --git a/.github/patches/versions b/.github/patches/versions index b1b741c455..36dfee165f 100644 --- a/.github/patches/versions +++ b/.github/patches/versions @@ -1,2 +1,2 @@ -OTEL_JAVA_INSTRUMENTATION_VERSION=v2.18.1 +OTEL_JAVA_INSTRUMENTATION_VERSION=v2.20.1 OTEL_JAVA_CONTRIB_VERSION=v1.48.0 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b3250443..43bcd45194 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,3 +21,5 @@ If your change does not need a CHANGELOG entry, add the "skip changelog" label t ([#1201](https://github.com/aws-observability/aws-otel-java-instrumentation/pull/1201)) - Add support for new formal database semantic convention keys. ([#1162](https://github.com/aws-observability/aws-otel-java-instrumentation/pull/1162)) +- Bump ADOT Java version to 2.20.0 and OTel deps to 2.20.1. + ([#1246](https://github.com/aws-observability/aws-otel-java-instrumentation/pull/1246)) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index cf5f3c2f26..6ca4ff5591 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 testSnapshots = rootProject.findProperty("testUpstreamSnapshots") == "true" // This is the version of the upstream instrumentation BOM -val otelVersion = "2.18.1-adot1" -val otelSnapshotVersion = "2.19.0" +val otelVersion = "2.20.1-adot1" +val otelSnapshotVersion = "2.21.0" val otelAlphaVersion = if (!testSnapshots) "$otelVersion-alpha" else "$otelSnapshotVersion-alpha-SNAPSHOT" val otelJavaAgentVersion = if (!testSnapshots) otelVersion else "$otelSnapshotVersion-SNAPSHOT" // All versions below are only used in testing and do not affect the released artifact. diff --git a/lambda-layer/patches/aws-otel-java-instrumentation.patch b/lambda-layer/patches/aws-otel-java-instrumentation.patch index f95c364151..53de5ec1e9 100644 --- a/lambda-layer/patches/aws-otel-java-instrumentation.patch +++ b/lambda-layer/patches/aws-otel-java-instrumentation.patch @@ -1,13 +1,13 @@ diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts -index d186406..91b9386 100644 +index 6ca4ff5..97e211a 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -27,7 +27,7 @@ data class DependencySet(val group: String, val version: String, val modules: Li val testSnapshots = rootProject.findProperty("testUpstreamSnapshots") == "true" // This is the version of the upstream instrumentation BOM --val otelVersion = "2.18.1-adot1" -+val otelVersion = "2.18.1-adot-lambda1" - val otelSnapshotVersion = "2.19.0" +-val otelVersion = "2.20.1-adot1" ++val otelVersion = "2.20.1-adot-lambda1" + val otelSnapshotVersion = "2.21.0" val otelAlphaVersion = if (!testSnapshots) "$otelVersion-alpha" else "$otelSnapshotVersion-alpha-SNAPSHOT" val otelJavaAgentVersion = if (!testSnapshots) otelVersion else "$otelSnapshotVersion-SNAPSHOT" diff --git a/lambda-layer/patches/opentelemetry-java-instrumentation.patch b/lambda-layer/patches/opentelemetry-java-instrumentation.patch index 220947b7a7..c294003e9c 100644 --- a/lambda-layer/patches/opentelemetry-java-instrumentation.patch +++ b/lambda-layer/patches/opentelemetry-java-instrumentation.patch @@ -636,52 +636,53 @@ index 0000000000..4b0f354769 + } +} diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java -index e059250807..1fa80c3735 100644 +index 8be416cb29..9ca5fbe1d0 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java @@ -70,7 +70,7 @@ public class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentati } input = AwsLambdaRequest.create(context, arg, headers); io.opentelemetry.context.Context parentContext = -- AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input); -+ AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input, context); +- AwsLambdaSingletons.functionInstrumenter().extract(input); ++ AwsLambdaSingletons.functionInstrumenter().extract(input, context); - if (!AwsLambdaInstrumentationHelper.functionInstrumenter() - .shouldStart(parentContext, input)) { + if (!AwsLambdaSingletons.functionInstrumenter().shouldStart(parentContext, input)) { + return; diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java -index fb5971016a..d31389e1c4 100644 +index 6219a2818b..2bb3072c88 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java @@ -62,7 +62,7 @@ public class AwsLambdaRequestStreamHandlerInstrumentation implements TypeInstrum Map headers = Collections.emptyMap(); otelInput = AwsLambdaRequest.create(context, input, headers); io.opentelemetry.context.Context parentContext = -- AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput); -+ AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput, context); +- AwsLambdaSingletons.functionInstrumenter().extract(otelInput); ++ AwsLambdaSingletons.functionInstrumenter().extract(otelInput, context); - if (!AwsLambdaInstrumentationHelper.functionInstrumenter() - .shouldStart(parentContext, otelInput)) { -diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java -index 4cd11fc0c4..7b7d62755c 100644 ---- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java -+++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java -@@ -34,7 +34,6 @@ public final class AwsLambdaSqsInstrumenterFactory { - "io.opentelemetry.aws-lambda-events-2.2", - message -> message.getEventSource() + " process") + if (!AwsLambdaSingletons.functionInstrumenter().shouldStart(parentContext, otelInput)) { + return; +diff --git a/instrumentation/aws-lambda/aws-lambda-events-common-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/common/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java b/instrumentation/aws-lambda/aws-lambda-events-common-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/common/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java +index e4ce0be1a9..42885201c4 100644 +--- a/instrumentation/aws-lambda/aws-lambda-events-common-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/common/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java ++++ b/instrumentation/aws-lambda/aws-lambda-events-common-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/common/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java +@@ -32,7 +32,6 @@ public final class AwsLambdaSqsInstrumenterFactory { + return Instrumenter.builder( + openTelemetry, instrumentationName, message -> message.getEventSource() + " process") .addAttributesExtractor(new SqsMessageAttributesExtractor()) - .addSpanLinksExtractor(new SqsMessageSpanLinksExtractor()) .buildInstrumenter(SpanKindExtractor.alwaysConsumer()); } - + diff --git a/version.gradle.kts b/version.gradle.kts -index ec9690086c..b267166804 100644 +index 5e7f1c6775..8aefb73b5d 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -1,5 +1,5 @@ --val stableVersion = "2.18.1-adot1" --val alphaVersion = "2.18.1-adot1-alpha" -+val stableVersion = "2.18.1-adot-lambda1" -+val alphaVersion = "2.18.1-adot-lambda1-alpha" +-val stableVersion = "2.20.1-adot1" +-val alphaVersion = "2.20.1-adot1-alpha" ++val stableVersion = "2.20.1-adot-lambda1" ++val alphaVersion = "2.20.1-adot-lambda1-alpha" allprojects { if (findProperty("otel.stable") != "true") { + diff --git a/version.gradle.kts b/version.gradle.kts index 9882736ff9..02c4204c54 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -val adotVersion = "2.18.0-SNAPSHOT" +val adotVersion = "2.20.0-SNAPSHOT" allprojects { version = if (project.hasProperty("release.version")) {