diff --git a/README.md b/README.md
index 4c4b791a433..cff5bfaa3d9 100644
--- a/README.md
+++ b/README.md
@@ -221,21 +221,21 @@ dependency as follows, replacing `{{artifact-id}}` with the value from the "Arti
### API
-| Component | Description | Artifact ID | Version |
-|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|----------------------------------------------------------------------------------|
-| [API](./api/all) | OpenTelemetry API, including metrics, traces, baggage, context | `opentelemetry-api` | 1.19.0 |
+| Component | Description | Artifact ID | Version |
+|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|-------------------------------------------------------------|
+| [API](./api/all) | OpenTelemetry API, including metrics, traces, baggage, context | `opentelemetry-api` | 1.19.0 |
| [Logs API](./api/logs) | OpenTelemetry Log API for emitting events and bridging log frameworks (NOT a replacement for application logging frameworks like SLF4J, JUL, etc.) | `opentelemetry-api-logs` | 1.19.0-alpha |
-| [Context API](./context) | OpenTelemetry context API | `opentelemetry-context` | 1.19.0 |
-| [Semantic Conventions](./semconv) | Generated code for OpenTelemetry semantic conventions | `opentelemetry-semconv` | 1.19.0-alpha |
+| [Context API](./context) | OpenTelemetry context API | `opentelemetry-context` | 1.19.0 |
+| [Semantic Conventions](./semconv) | Generated code for OpenTelemetry semantic conventions | `opentelemetry-semconv` | 1.19.0-alpha |
### API Extensions
-| Component | Description | Artifact ID | Version |
-|---------------------------------------------------------------|---------------------------------------------------------------------------------------------|---------------------------------------------|-------------------------------------------------------------|
-| [AWS Extension](./extensions/aws) | AWS Xray propagator | `opentelemetry-extension-aws` | 1.19.0 |
-| [Kotlin Extension](./extensions/kotlin) | Context extension for coroutines | `opentelemetry-extension-kotlin` | 1.19.0 |
-| [Trace Propagators Extension](./extensions/trace-propagators) | Trace propagators, including B3, Jaeger, OT Trace | `opentelemetry-extension-trace-propagators` | 1.19.0 |
-| [Incubator Extension](./extensions/incubator) | API incubator, including pass through propagator, and extended tracer | `opentelemetry-extension-incubator` | 1.19.0-alpha |
+| Component | Description | Artifact ID | Version |
+|---------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------|-------------------------------------------------------------|
+| [AWS Extension](./extensions/aws) | AWS Xray propagator (deprecated, moved to [opentelemetry-java-contrib/aws-xray-propagator](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator)) | `opentelemetry-extension-aws` | 1.19.0 |
+| [Kotlin Extension](./extensions/kotlin) | Context extension for coroutines | `opentelemetry-extension-kotlin` | 1.19.0 |
+| [Trace Propagators Extension](./extensions/trace-propagators) | Trace propagators, including B3, Jaeger, OT Trace | `opentelemetry-extension-trace-propagators` | 1.19.0 |
+| [Incubator Extension](./extensions/incubator) | API incubator, including pass through propagator, and extended tracer | `opentelemetry-extension-incubator` | 1.19.0-alpha |
### SDK
diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-extension-aws.txt b/docs/apidiffs/current_vs_latest/opentelemetry-extension-aws.txt
index df26146497b..979e67fbfcf 100644
--- a/docs/apidiffs/current_vs_latest/opentelemetry-extension-aws.txt
+++ b/docs/apidiffs/current_vs_latest/opentelemetry-extension-aws.txt
@@ -1,2 +1,7 @@
Comparing source compatibility of against
-No changes.
\ No newline at end of file
+=== UNCHANGED CLASS: PUBLIC FINAL io.opentelemetry.extension.aws.AwsConfigurablePropagator (not serializable)
+ === CLASS FILE FORMAT VERSION: 52.0 <- 52.0
+ +++ NEW ANNOTATION: java.lang.Deprecated
+=== UNCHANGED CLASS: PUBLIC FINAL io.opentelemetry.extension.aws.AwsXrayPropagator (not serializable)
+ === CLASS FILE FORMAT VERSION: 52.0 <- 52.0
+ +++ NEW ANNOTATION: java.lang.Deprecated
diff --git a/extensions/aws/README.md b/extensions/aws/README.md
index 00dea946cdf..7157e7df5d4 100644
--- a/extensions/aws/README.md
+++ b/extensions/aws/README.md
@@ -2,5 +2,11 @@
[![Javadocs][javadoc-image]][javadoc-url]
+> **NOTICE**: This artifact is deprecated and its contents have been moved
+> to [io.opentelemetry.contrib:opentelemetry-aws-xray-propagator](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator).
+> Version 1.20.0 will be the last minor version published. However, it will continue to receive
+> patches for security vulnerabilities, and `io.opentelemetry:opentelemetry-bom` will reference the
+> last published version.
+
[javadoc-image]: https://www.javadoc.io/badge/io.opentelemetry/opentelemetry-extension-aws.svg
[javadoc-url]: https://www.javadoc.io/doc/io.opentelemetry/opentelemetry-extension-aws
diff --git a/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsConfigurablePropagator.java b/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsConfigurablePropagator.java
index 18d4ef77d9a..1682f16ec3a 100644
--- a/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsConfigurablePropagator.java
+++ b/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsConfigurablePropagator.java
@@ -12,7 +12,11 @@
/**
* A {@link ConfigurablePropagatorProvider} which allows enabling the {@link AwsXrayPropagator} with
* the propagator name {@code xray}.
+ *
+ * @deprecated Moved to io.opentelemetry.contrib:opentelemetry-aws-xray-propagator.
*/
+@Deprecated
public final class AwsConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator(ConfigProperties config) {
diff --git a/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsXrayPropagator.java b/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsXrayPropagator.java
index f342d035a15..d483f339462 100644
--- a/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsXrayPropagator.java
+++ b/extensions/aws/src/main/java/io/opentelemetry/extension/aws/AwsXrayPropagator.java
@@ -41,7 +41,11 @@
* AWSXrayPropagator.getInstance())))
* .build();
* }
+ *
+ * @deprecated Moved to io.opentelemetry.contrib:opentelemetry-aws-xray-propagator.
*/
+@Deprecated
public final class AwsXrayPropagator implements TextMapPropagator {
// Visible for testing
diff --git a/extensions/aws/src/test/java/io/opentelemetry/extension/aws/AwsXrayPropagatorTest.java b/extensions/aws/src/test/java/io/opentelemetry/extension/aws/AwsXrayPropagatorTest.java
index c1f9637690e..3ad4a957f81 100644
--- a/extensions/aws/src/test/java/io/opentelemetry/extension/aws/AwsXrayPropagatorTest.java
+++ b/extensions/aws/src/test/java/io/opentelemetry/extension/aws/AwsXrayPropagatorTest.java
@@ -5,7 +5,6 @@
package io.opentelemetry.extension.aws;
-import static io.opentelemetry.extension.aws.AwsXrayPropagator.TRACE_HEADER_KEY;
import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.baggage.Baggage;
@@ -24,6 +23,7 @@
import javax.annotation.Nullable;
import org.junit.jupiter.api.Test;
+@SuppressWarnings("deprecation") // Moved to contrib
class AwsXrayPropagatorTest {
private static final String TRACE_ID = "8a3c60f7d188f8fa79d48a391a778fa6";
@@ -57,7 +57,7 @@ void inject_SampledContext() {
assertThat(carrier)
.containsEntry(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1");
}
@@ -73,7 +73,7 @@ void inject_NotSampledContext() {
assertThat(carrier)
.containsEntry(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
}
@@ -98,7 +98,7 @@ void inject_WithBaggage() {
assertThat(carrier)
.containsEntry(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;"
+ "cat=meow;dog=bark");
}
@@ -127,7 +127,7 @@ void inject_WithBaggage_LimitTruncates() {
assertThat(carrier)
.containsEntry(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;"
+ key1
+ '='
@@ -152,7 +152,7 @@ void inject_WithTraceState() {
// mapping with baggage.
assertThat(carrier)
.containsEntry(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
}
@@ -187,7 +187,7 @@ void extract_Nothing() {
void extract_SampledContext() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -200,7 +200,7 @@ void extract_SampledContext() {
void extract_NotSampledContext() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -213,7 +213,7 @@ void extract_NotSampledContext() {
void extract_DifferentPartOrder() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Parent=53995c3f42cd8ad8;Sampled=1;Root=1-8a3c60f7-d188f8fa79d48a391a778fa6");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -226,7 +226,7 @@ void extract_DifferentPartOrder() {
void extract_AdditionalFields() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
Context context = xrayPropagator.extract(Context.current(), carrier, getter);
@@ -249,7 +249,7 @@ void extract_Baggage_LimitTruncates() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;"
+ key1
+ '='
@@ -271,7 +271,7 @@ void extract_Baggage_LimitTruncates() {
@Test
void extract_EmptyHeaderValue() {
Map invalidHeaders = new LinkedHashMap<>();
- invalidHeaders.put(TRACE_HEADER_KEY, "");
+ invalidHeaders.put(AwsXrayPropagator.TRACE_HEADER_KEY, "");
verifyInvalidBehavior(invalidHeaders);
}
@@ -280,7 +280,7 @@ void extract_EmptyHeaderValue() {
void extract_InvalidTraceId() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=abcdefghijklmnopabcdefghijklmnop;Parent=53995c3f42cd8ad8;Sampled=0");
verifyInvalidBehavior(invalidHeaders);
@@ -290,7 +290,7 @@ void extract_InvalidTraceId() {
void extract_InvalidTraceId_Size() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa600;Parent=53995c3f42cd8ad8;Sampled=0");
verifyInvalidBehavior(invalidHeaders);
@@ -300,7 +300,7 @@ void extract_InvalidTraceId_Size() {
void extract_InvalidSpanId() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=abcdefghijklmnop;Sampled=0");
verifyInvalidBehavior(invalidHeaders);
@@ -310,7 +310,7 @@ void extract_InvalidSpanId() {
void extract_InvalidSpanId_Size() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad800;Sampled=0");
verifyInvalidBehavior(invalidHeaders);
@@ -320,7 +320,7 @@ void extract_InvalidSpanId_Size() {
void extract_InvalidFlags() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=");
verifyInvalidBehavior(invalidHeaders);
@@ -330,7 +330,7 @@ void extract_InvalidFlags() {
void extract_InvalidFlags_Size() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=10220");
verifyInvalidBehavior(invalidHeaders);
@@ -340,7 +340,7 @@ void extract_InvalidFlags_Size() {
void extract_InvalidFlags_NonNumeric() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=a");
verifyInvalidBehavior(invalidHeaders);
@@ -349,7 +349,8 @@ void extract_InvalidFlags_NonNumeric() {
@Test
void extract_Invalid_NoSpanId() {
Map invalidHeaders = new LinkedHashMap<>(1);
- invalidHeaders.put(TRACE_HEADER_KEY, "Root=1-622422bf-59625fe25708d4660735d8ef");
+ invalidHeaders.put(
+ AwsXrayPropagator.TRACE_HEADER_KEY, "Root=1-622422bf-59625fe25708d4660735d8ef");
verifyInvalidBehavior(invalidHeaders);
}
@@ -380,7 +381,7 @@ void extract_nullGetter() {
void extract_EpochPart_ZeroedSingleDigit() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-0-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -396,7 +397,7 @@ void extract_EpochPart_ZeroedSingleDigit() {
void extract_EpochPart_TwoChars() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-1a-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -412,7 +413,7 @@ void extract_EpochPart_TwoChars() {
void extract_EpochPart_Zeroed() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-00000000-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
@@ -428,7 +429,7 @@ void extract_EpochPart_Zeroed() {
void extract_InvalidTraceId_EpochPart_TooLong() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f711-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
@@ -439,7 +440,8 @@ void extract_InvalidTraceId_EpochPart_TooLong() {
void extract_InvalidTraceId_EpochPart_Empty() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY, "Root=1--d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
+ AwsXrayPropagator.TRACE_HEADER_KEY,
+ "Root=1--d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
.isSameAs(SpanContext.getInvalid());
@@ -449,7 +451,8 @@ void extract_InvalidTraceId_EpochPart_Empty() {
void extract_InvalidTraceId_EpochPart_Missing() {
Map invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
- TRACE_HEADER_KEY, "Root=1-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
+ AwsXrayPropagator.TRACE_HEADER_KEY,
+ "Root=1-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
.isSameAs(SpanContext.getInvalid());
@@ -459,7 +462,7 @@ void extract_InvalidTraceId_EpochPart_Missing() {
void extract_InvalidTraceId_WrongVersion() {
Map carrier = new LinkedHashMap<>();
carrier.put(
- TRACE_HEADER_KEY,
+ AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=2-1a2a3a4a-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
diff --git a/extensions/trace-propagators/build.gradle.kts b/extensions/trace-propagators/build.gradle.kts
index 485e8ee35a5..5e4d8e0bec2 100644
--- a/extensions/trace-propagators/build.gradle.kts
+++ b/extensions/trace-propagators/build.gradle.kts
@@ -16,6 +16,4 @@ dependencies {
testImplementation("io.jaegertracing:jaeger-client")
testImplementation("com.google.guava:guava")
-
- jmhImplementation(project(":extensions:aws"))
}
diff --git a/extensions/trace-propagators/src/jmh/java/io/opentelemetry/extension/trace/propagation/PropagatorContextExtractBenchmark.java b/extensions/trace-propagators/src/jmh/java/io/opentelemetry/extension/trace/propagation/PropagatorContextExtractBenchmark.java
index 295239f99bf..69c0ab11e74 100644
--- a/extensions/trace-propagators/src/jmh/java/io/opentelemetry/extension/trace/propagation/PropagatorContextExtractBenchmark.java
+++ b/extensions/trace-propagators/src/jmh/java/io/opentelemetry/extension/trace/propagation/PropagatorContextExtractBenchmark.java
@@ -8,7 +8,6 @@
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
-import io.opentelemetry.extension.aws.AwsXrayPropagator;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -265,51 +264,4 @@ protected List