Browse Source

Use contrib AwsXrayPropagator (#7234)

Reflects move of `AwsXrayPropagator` to
[opentelemetry-java-contrib/aws-xray-propagator](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator).
jack-berg 2 years ago
parent
commit
94ba33e395
25 changed files with 60 additions and 57 deletions
  1. 1 0
      dependencyManagement/build.gradle.kts
  2. 1 1
      instrumentation/apache-camel-2.20/javaagent-unit-tests/build.gradle.kts
  3. 1 1
      instrumentation/apache-camel-2.20/javaagent/build.gradle.kts
  4. 1 1
      instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java
  5. 2 2
      instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java
  6. 1 1
      instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaInstrumentationModule.java
  7. 8 6
      instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md
  8. 1 1
      instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts
  9. 2 2
      instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/ParentContextExtractor.java
  10. 2 4
      instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/ApiGatewayProxyRequestTest.java
  11. 1 1
      instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaInstrumentationModule.java
  12. 1 1
      instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts
  13. 1 1
      instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts
  14. 1 1
      instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/AwsSdkInstrumentationModule.java
  15. 1 1
      instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts
  16. 2 2
      instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java
  17. 2 2
      instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/TracingRequestHandler.java
  18. 1 1
      instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsSdkInstrumentationModule.java
  19. 1 1
      instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts
  20. 2 2
      instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/SqsParentContext.java
  21. 2 2
      instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java
  22. 2 2
      instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts
  23. 4 3
      instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/propagators/CompositeTextMapPropagatorFactory.java
  24. 2 1
      javaagent-tooling/build.gradle.kts
  25. 17 17
      licenses/licenses.md

+ 1 - 0
dependencyManagement/build.gradle.kts

@@ -89,6 +89,7 @@ val DEPENDENCIES = listOf(
   "commons-logging:commons-logging:1.2",
   "commons-logging:commons-logging:1.2",
   "commons-validator:commons-validator:1.7",
   "commons-validator:commons-validator:1.7",
   "io.netty:netty:3.10.6.Final",
   "io.netty:netty:3.10.6.Final",
+  "io.opentelemetry.contrib:opentelemetry-aws-xray-propagator:1.20.0-alpha",
   "io.opentelemetry.proto:opentelemetry-proto:0.19.0-alpha",
   "io.opentelemetry.proto:opentelemetry-proto:0.19.0-alpha",
   "org.assertj:assertj-core:3.23.1",
   "org.assertj:assertj-core:3.23.1",
   "org.awaitility:awaitility:4.2.0",
   "org.awaitility:awaitility:4.2.0",

+ 1 - 1
instrumentation/apache-camel-2.20/javaagent-unit-tests/build.gradle.kts

@@ -12,5 +12,5 @@ dependencies {
   testImplementation("org.apache.camel:camel-http:2.20.1")
   testImplementation("org.apache.camel:camel-http:2.20.1")
 
 
   testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
   testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
-  testImplementation("io.opentelemetry:opentelemetry-extension-aws")
+  testImplementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 }
 }

+ 1 - 1
instrumentation/apache-camel-2.20/javaagent/build.gradle.kts

@@ -15,7 +15,7 @@ val camelversion = "2.20.1" // first version that the tests pass on
 
 
 dependencies {
 dependencies {
   library("org.apache.camel:camel-core:$camelversion")
   library("org.apache.camel:camel-core:$camelversion")
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   // without adding this dependency, javadoc fails:
   // without adding this dependency, javadoc fails:
   //   warning: unknown enum constant XmlAccessType.PROPERTY
   //   warning: unknown enum constant XmlAccessType.PROPERTY

+ 1 - 1
instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java

@@ -26,6 +26,6 @@ public class ApacheCamelInstrumentationModule extends InstrumentationModule {
 
 
   @Override
   @Override
   public boolean isHelperClass(String className) {
   public boolean isHelperClass(String className) {
-    return className.startsWith("io.opentelemetry.extension.aws.");
+    return className.startsWith("io.opentelemetry.contrib.awsxray.");
   }
   }
 }
 }

+ 2 - 2
instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java

@@ -9,6 +9,7 @@ import io.opentelemetry.api.GlobalOpenTelemetry;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.propagation.TextMapGetter;
 import io.opentelemetry.context.propagation.TextMapGetter;
 import io.opentelemetry.context.propagation.TextMapSetter;
 import io.opentelemetry.context.propagation.TextMapSetter;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Map;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Endpoint;
@@ -27,9 +28,8 @@ final class CamelPropagationUtil {
     return endpoint.getClass().getName().endsWith("SqsEndpoint");
     return endpoint.getClass().getName().endsWith("SqsEndpoint");
   }
   }
 
 
-  @SuppressWarnings("deprecation") // deprecated class to be updated once published in new location
   private static Context extractAwsPropagationParent(Map<String, Object> exchangeHeaders) {
   private static Context extractAwsPropagationParent(Map<String, Object> exchangeHeaders) {
-    return io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
+    return AwsXrayPropagator.getInstance()
         .extract(
         .extract(
             Context.current(),
             Context.current(),
             Collections.singletonMap("X-Amzn-Trace-Id", exchangeHeaders.get("AWSTraceHeader")),
             Collections.singletonMap("X-Amzn-Trace-Id", exchangeHeaders.get("AWSTraceHeader")),

+ 1 - 1
instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaInstrumentationModule.java

@@ -20,7 +20,7 @@ public class AwsLambdaInstrumentationModule extends InstrumentationModule {
 
 
   @Override
   @Override
   public boolean isHelperClass(String className) {
   public boolean isHelperClass(String className) {
-    return className.startsWith("io.opentelemetry.extension.aws.");
+    return className.startsWith("io.opentelemetry.contrib.awsxray.");
   }
   }
 
 
   @Override
   @Override

+ 8 - 6
instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md

@@ -47,14 +47,16 @@ A `SERVER` span will be created with the name you specify for the function when
 
 
 In addition, it is recommended to set up X-Ray trace propagation to be able to
 In addition, it is recommended to set up X-Ray trace propagation to be able to
 link to tracing information provided by Lambda itself. To do so, add a dependency on
 link to tracing information provided by Lambda itself. To do so, add a dependency on
-`opentelemetry-extension-tracepropagators`. Make sure the version matches the version of the SDK
-you use.
+`io.opentelemetry.contrib:opentelemetry-aws-xray-propagator`.
+
+Replace `OPENTELEMETRY_VERSION` with the [latest
+release](https://search.maven.org/search?q=g:io.opentelemetry.contrib%20AND%20a:opentelemetry-aws-xray-propagator).
 
 
 Gradle:
 Gradle:
 
 
 ```kotlin
 ```kotlin
 dependencies {
 dependencies {
-  implementation("io.opentelemetry:opentelemetry-extension-trace-propagators:0.8.0")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator:OPENTELEMETRY_VERSION")
 }
 }
 ```
 ```
 
 
@@ -63,9 +65,9 @@ Maven:
 ```xml
 ```xml
 <dependencies>
 <dependencies>
   <dependency>
   <dependency>
-    <groupId>io.opentelemetry</groupId>
-    <artifactId>opentelemetry-extension-trace-propagators</artifactId>
-    <version>0.8.0</version>
+    <groupId>io.opentelemetry.contrib</groupId>
+    <artifactId>opentelemetry-aws-xray-propagator</artifactId>
+    <version>OPENTELEMETRY_VERSION</version>
   </dependency>
   </dependency>
 </dependencies>
 </dependencies>
 ```
 ```

+ 1 - 1
instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts

@@ -11,7 +11,7 @@ dependencies {
 
 
   library("com.amazonaws:aws-lambda-java-core:1.0.0")
   library("com.amazonaws:aws-lambda-java-core:1.0.0")
 
 
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   // We do lightweight parsing of JSON to extract HTTP headers from requests for propagation.
   // We do lightweight parsing of JSON to extract HTTP headers from requests for propagation.
   // This will be commonly needed even for users that don't use events, but luckily it's not too big.
   // This will be commonly needed even for users that don't use events, but luckily it's not too big.

+ 2 - 2
instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/ParentContextExtractor.java

@@ -11,6 +11,7 @@ import io.opentelemetry.api.trace.Span;
 import io.opentelemetry.api.trace.SpanContext;
 import io.opentelemetry.api.trace.SpanContext;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.propagation.TextMapGetter;
 import io.opentelemetry.context.propagation.TextMapGetter;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Locale;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Map;
@@ -53,9 +54,8 @@ public final class ParentContextExtractor {
   // lower-case map getter used for extraction
   // lower-case map getter used for extraction
   static final String AWS_TRACE_HEADER_PROPAGATOR_KEY = "x-amzn-trace-id";
   static final String AWS_TRACE_HEADER_PROPAGATOR_KEY = "x-amzn-trace-id";
 
 
-  @SuppressWarnings("deprecation") // deprecated class to be updated once published in new location
   public static Context fromXrayHeader(String parentHeader) {
   public static Context fromXrayHeader(String parentHeader) {
-    return io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
+    return AwsXrayPropagator.getInstance()
         .extract(
         .extract(
             // see BaseTracer#extract() on why we're using root() here
             // see BaseTracer#extract() on why we're using root() here
             Context.root(),
             Context.root(),

+ 2 - 4
instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/ApiGatewayProxyRequestTest.java

@@ -15,6 +15,7 @@ import static org.mockito.Mockito.when;
 import io.opentelemetry.api.GlobalOpenTelemetry;
 import io.opentelemetry.api.GlobalOpenTelemetry;
 import io.opentelemetry.api.OpenTelemetry;
 import io.opentelemetry.api.OpenTelemetry;
 import io.opentelemetry.context.propagation.ContextPropagators;
 import io.opentelemetry.context.propagation.ContextPropagators;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import io.opentelemetry.extension.trace.propagation.B3Propagator;
 import io.opentelemetry.extension.trace.propagation.B3Propagator;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
@@ -41,14 +42,11 @@ class ApiGatewayProxyRequestTest {
   }
   }
 
 
   @Test
   @Test
-  @SuppressWarnings("deprecation") // deprecated class to be updated once published in new location
   public void shouldCreateNoopRequestIfXrayPropagatorsSet() throws IOException {
   public void shouldCreateNoopRequestIfXrayPropagatorsSet() throws IOException {
     // given
     // given
     InputStream mock = mock(InputStream.class);
     InputStream mock = mock(InputStream.class);
     GlobalOpenTelemetry.set(
     GlobalOpenTelemetry.set(
-        OpenTelemetry.propagating(
-            ContextPropagators.create(
-                io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance())));
+        OpenTelemetry.propagating(ContextPropagators.create(AwsXrayPropagator.getInstance())));
     // when
     // when
     ApiGatewayProxyRequest created = ApiGatewayProxyRequest.forStream(mock);
     ApiGatewayProxyRequest created = ApiGatewayProxyRequest.forStream(mock);
     // then
     // then

+ 1 - 1
instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaInstrumentationModule.java

@@ -27,7 +27,7 @@ public class AwsLambdaInstrumentationModule extends InstrumentationModule {
 
 
   @Override
   @Override
   public boolean isHelperClass(String className) {
   public boolean isHelperClass(String className) {
-    return className.startsWith("io.opentelemetry.extension.aws.");
+    return className.startsWith("io.opentelemetry.contrib.awsxray.");
   }
   }
 
 
   @Override
   @Override

+ 1 - 1
instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts

@@ -23,7 +23,7 @@ dependencies {
   // Note that Lambda itself uses Jackson, but does not expose it to the function so we need to include it here.
   // Note that Lambda itself uses Jackson, but does not expose it to the function so we need to include it here.
   // TODO(anuraaga): Switch to aws-lambda-java-serialization to more robustly follow Lambda's serialization logic.
   // TODO(anuraaga): Switch to aws-lambda-java-serialization to more robustly follow Lambda's serialization logic.
   implementation("com.fasterxml.jackson.core:jackson-databind")
   implementation("com.fasterxml.jackson.core:jackson-databind")
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   // allows to get the function ARN
   // allows to get the function ARN
   testLibrary("com.amazonaws:aws-lambda-java-core:1.2.1")
   testLibrary("com.amazonaws:aws-lambda-java-core:1.2.1")

+ 1 - 1
instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts

@@ -47,7 +47,7 @@ configurations {
 }
 }
 
 
 dependencies {
 dependencies {
-  compileOnly("io.opentelemetry:opentelemetry-extension-aws")
+  compileOnly("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   implementation(project(":instrumentation:aws-sdk:aws-sdk-1.11:library"))
   implementation(project(":instrumentation:aws-sdk:aws-sdk-1.11:library"))
 
 

+ 1 - 1
instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/AwsSdkInstrumentationModule.java

@@ -20,7 +20,7 @@ public class AwsSdkInstrumentationModule extends InstrumentationModule {
 
 
   @Override
   @Override
   public boolean isHelperClass(String className) {
   public boolean isHelperClass(String className) {
-    return className.startsWith("io.opentelemetry.extension.aws.");
+    return className.startsWith("io.opentelemetry.contrib.awsxray.");
   }
   }
 
 
   @Override
   @Override

+ 1 - 1
instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts

@@ -3,7 +3,7 @@ plugins {
 }
 }
 
 
 dependencies {
 dependencies {
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   library("com.amazonaws:aws-java-sdk-core:1.11.0")
   library("com.amazonaws:aws-java-sdk-core:1.11.0")
 
 

+ 2 - 2
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java

@@ -7,6 +7,7 @@ package io.opentelemetry.instrumentation.awssdk.v1_11;
 
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.propagation.TextMapGetter;
 import io.opentelemetry.context.propagation.TextMapGetter;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -28,10 +29,9 @@ final class SqsParentContext {
 
 
   static final String AWS_TRACE_SYSTEM_ATTRIBUTE = "AWSTraceHeader";
   static final String AWS_TRACE_SYSTEM_ATTRIBUTE = "AWSTraceHeader";
 
 
-  @SuppressWarnings("deprecation") // deprecated class to be updated once published in new location
   static Context ofSystemAttributes(Map<String, String> systemAttributes) {
   static Context ofSystemAttributes(Map<String, String> systemAttributes) {
     String traceHeader = systemAttributes.get(AWS_TRACE_SYSTEM_ATTRIBUTE);
     String traceHeader = systemAttributes.get(AWS_TRACE_SYSTEM_ATTRIBUTE);
-    return io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
+    return AwsXrayPropagator.getInstance()
         .extract(
         .extract(
             Context.root(),
             Context.root(),
             Collections.singletonMap("X-Amzn-Trace-Id", traceHeader),
             Collections.singletonMap("X-Amzn-Trace-Id", traceHeader),

+ 2 - 2
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/TracingRequestHandler.java

@@ -11,6 +11,7 @@ import com.amazonaws.Response;
 import com.amazonaws.handlers.HandlerContextKey;
 import com.amazonaws.handlers.HandlerContextKey;
 import com.amazonaws.handlers.RequestHandler2;
 import com.amazonaws.handlers.RequestHandler2;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Context;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import java.util.List;
 import java.util.List;
 import javax.annotation.Nullable;
 import javax.annotation.Nullable;
@@ -40,8 +41,7 @@ final class TracingRequestHandler extends RequestHandler2 {
     }
     }
     Context context = requestInstrumenter.start(parentContext, request);
     Context context = requestInstrumenter.start(parentContext, request);
 
 
-    io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
-        .inject(context, request, HeaderSetter.INSTANCE);
+    AwsXrayPropagator.getInstance().inject(context, request, HeaderSetter.INSTANCE);
 
 
     request.addHandlerContext(CONTEXT, context);
     request.addHandlerContext(CONTEXT, context);
   }
   }

+ 1 - 1
instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsSdkInstrumentationModule.java

@@ -27,7 +27,7 @@ public class AwsSdkInstrumentationModule extends InstrumentationModule {
 
 
   @Override
   @Override
   public boolean isHelperClass(String className) {
   public boolean isHelperClass(String className) {
-    return className.startsWith("io.opentelemetry.extension.aws.");
+    return className.startsWith("io.opentelemetry.contrib.awsxray.");
   }
   }
 
 
   /**
   /**

+ 1 - 1
instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts

@@ -3,7 +3,7 @@ plugins {
 }
 }
 
 
 dependencies {
 dependencies {
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
 
 
   library("software.amazon.awssdk:aws-core:2.2.0")
   library("software.amazon.awssdk:aws-core:2.2.0")
   library("software.amazon.awssdk:aws-json-protocol:2.2.0")
   library("software.amazon.awssdk:aws-json-protocol:2.2.0")

+ 2 - 2
instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/SqsParentContext.java

@@ -7,6 +7,7 @@ package io.opentelemetry.instrumentation.awssdk.v2_2;
 
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.propagation.TextMapGetter;
 import io.opentelemetry.context.propagation.TextMapGetter;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -28,10 +29,9 @@ final class SqsParentContext {
 
 
   static final String AWS_TRACE_SYSTEM_ATTRIBUTE = "AWSTraceHeader";
   static final String AWS_TRACE_SYSTEM_ATTRIBUTE = "AWSTraceHeader";
 
 
-  @SuppressWarnings("deprecation") // deprecated class to be updated once published in new location
   static Context ofSystemAttributes(Map<String, String> systemAttributes) {
   static Context ofSystemAttributes(Map<String, String> systemAttributes) {
     String traceHeader = systemAttributes.get(AWS_TRACE_SYSTEM_ATTRIBUTE);
     String traceHeader = systemAttributes.get(AWS_TRACE_SYSTEM_ATTRIBUTE);
-    return io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
+    return AwsXrayPropagator.getInstance()
         .extract(
         .extract(
             Context.root(),
             Context.root(),
             Collections.singletonMap("X-Amzn-Trace-Id", traceHeader),
             Collections.singletonMap("X-Amzn-Trace-Id", traceHeader),

+ 2 - 2
instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java

@@ -9,6 +9,7 @@ import static io.opentelemetry.instrumentation.awssdk.v2_2.AwsSdkRequestType.DYN
 
 
 import io.opentelemetry.api.trace.Span;
 import io.opentelemetry.api.trace.Span;
 import io.opentelemetry.context.Scope;
 import io.opentelemetry.context.Scope;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
 import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -134,8 +135,7 @@ final class TracingExecutionInterceptor implements ExecutionInterceptor {
     }
     }
 
 
     SdkHttpRequest.Builder builder = httpRequest.toBuilder();
     SdkHttpRequest.Builder builder = httpRequest.toBuilder();
-    io.opentelemetry.extension.aws.AwsXrayPropagator.getInstance()
-        .inject(otelContext, builder, RequestHeaderSetter.INSTANCE);
+    AwsXrayPropagator.getInstance().inject(otelContext, builder, RequestHeaderSetter.INSTANCE);
     return builder.build();
     return builder.build();
   }
   }
 
 

+ 2 - 2
instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts

@@ -31,7 +31,7 @@ dependencies {
   compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
   compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
   compileOnly("io.opentelemetry:opentelemetry-extension-annotations")
   compileOnly("io.opentelemetry:opentelemetry-extension-annotations")
   compileOnly("io.opentelemetry:opentelemetry-extension-trace-propagators")
   compileOnly("io.opentelemetry:opentelemetry-extension-trace-propagators")
-  compileOnly("io.opentelemetry:opentelemetry-extension-aws")
+  compileOnly("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
   compileOnly("io.opentelemetry:opentelemetry-exporter-logging")
   compileOnly("io.opentelemetry:opentelemetry-exporter-logging")
   compileOnly("io.opentelemetry:opentelemetry-exporter-jaeger")
   compileOnly("io.opentelemetry:opentelemetry-exporter-jaeger")
   compileOnly("io.opentelemetry:opentelemetry-exporter-otlp")
   compileOnly("io.opentelemetry:opentelemetry-exporter-otlp")
@@ -59,7 +59,7 @@ dependencies {
   testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
   testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
   testImplementation("io.opentelemetry:opentelemetry-extension-annotations")
   testImplementation("io.opentelemetry:opentelemetry-extension-annotations")
   testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
   testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
-  testImplementation("io.opentelemetry:opentelemetry-extension-aws")
+  testImplementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
   testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
   testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
   testImplementation("io.opentelemetry:opentelemetry-exporter-jaeger")
   testImplementation("io.opentelemetry:opentelemetry-exporter-jaeger")
   testImplementation("io.opentelemetry:opentelemetry-exporter-otlp")
   testImplementation("io.opentelemetry:opentelemetry-exporter-otlp")

+ 4 - 3
instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/propagators/CompositeTextMapPropagatorFactory.java

@@ -10,6 +10,7 @@ import static java.util.logging.Level.WARNING;
 import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
 import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
 import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
 import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
 import io.opentelemetry.context.propagation.TextMapPropagator;
 import io.opentelemetry.context.propagation.TextMapPropagator;
+import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
 import io.opentelemetry.extension.trace.propagation.B3Propagator;
 import io.opentelemetry.extension.trace.propagation.B3Propagator;
 import io.opentelemetry.extension.trace.propagation.JaegerPropagator;
 import io.opentelemetry.extension.trace.propagation.JaegerPropagator;
 import io.opentelemetry.extension.trace.propagation.OtTracePropagator;
 import io.opentelemetry.extension.trace.propagation.OtTracePropagator;
@@ -67,11 +68,11 @@ public final class CompositeTextMapPropagatorFactory {
           }
           }
           break;
           break;
         case "xray":
         case "xray":
-          if (isOnClasspath("io.opentelemetry.extension.aws.AwsXrayPropagator")) {
+          if (isOnClasspath("io.opentelemetry.contrib.awsxray.AwsXrayPropagator")) {
             propagators.add(
             propagators.add(
                 beanFactory
                 beanFactory
-                    .getBeanProvider(io.opentelemetry.extension.aws.AwsXrayPropagator.class)
-                    .getIfAvailable(io.opentelemetry.extension.aws.AwsXrayPropagator::getInstance));
+                    .getBeanProvider(AwsXrayPropagator.class)
+                    .getIfAvailable(AwsXrayPropagator::getInstance));
           }
           }
           break;
           break;
         case "tracecontext":
         case "tracecontext":

+ 2 - 1
javaagent-tooling/build.gradle.kts

@@ -23,7 +23,6 @@ dependencies {
   implementation("io.opentelemetry:opentelemetry-sdk-metrics")
   implementation("io.opentelemetry:opentelemetry-sdk-metrics")
   implementation("io.opentelemetry:opentelemetry-sdk-logs")
   implementation("io.opentelemetry:opentelemetry-sdk-logs")
   implementation("io.opentelemetry:opentelemetry-extension-kotlin")
   implementation("io.opentelemetry:opentelemetry-extension-kotlin")
-  implementation("io.opentelemetry:opentelemetry-extension-aws")
   implementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
   implementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
   // the incubator's ViewConfigCustomizer is used to support loading yaml-based metric views
   // the incubator's ViewConfigCustomizer is used to support loading yaml-based metric views
   implementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
   implementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
@@ -40,6 +39,8 @@ dependencies {
 
 
   implementation("io.opentelemetry:opentelemetry-sdk-extension-jaeger-remote-sampler")
   implementation("io.opentelemetry:opentelemetry-sdk-extension-jaeger-remote-sampler")
 
 
+  implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
+
   api("net.bytebuddy:byte-buddy-dep")
   api("net.bytebuddy:byte-buddy-dep")
 
 
   annotationProcessor("com.google.auto.service:auto-service")
   annotationProcessor("com.google.auto.service:auto-service")

+ 17 - 17
licenses/licenses.md

@@ -1,7 +1,7 @@
 
 
 #javaagent
 #javaagent
 ##Dependency License Report
 ##Dependency License Report
-_2022-11-18 08:34:48 PST_
+_2022-11-18 15:15:18 CST_
 ## Apache License, Version 2.0
 ## Apache License, Version 2.0
 
 
 **1** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18`
 **1** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18`
@@ -85,58 +85,58 @@ _2022-11-18 08:34:48 PST_
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-aws` **Version:** `1.20.1`
+**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.20.1`
+**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.20.1`
+**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.20.1`
+**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.20.1`
+**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.20.1-alpha`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.20.1-alpha`
+**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.20.1`
+**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.20.1-alpha`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.20.1-alpha`
+**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.20.1`
+**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.20.1-alpha`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.20.1-alpha`
+**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.20.1`
+**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.20.1`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
 
 
-**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.20.1`
-> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
-> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-
-**31** **Group:** `io.opentelemetry` **Name:** `opentelemetry-semconv` **Version:** `1.20.1-alpha`
+**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-semconv` **Version:** `1.20.1-alpha`
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
 > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
 > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
 
 
+**31** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-aws-xray-propagator` **Version:** `1.20.0-alpha`
+> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
+> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
+
 **32** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `2.16.3`
 **32** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `2.16.3`
 > - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
 > - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
 > - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
 > - **Manifest License**: Apache License, Version 2.0 (Not Packaged)