Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate :extensions:aws #4862

Merged
merged 4 commits into from Nov 2, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -1,2 +1,7 @@
Comparing source compatibility of against
No changes.
=== 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
6 changes: 6 additions & 0 deletions extensions/aws/README.md
Expand Up @@ -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
Expand Up @@ -12,7 +12,11 @@
/**
* A {@link ConfigurablePropagatorProvider} which allows enabling the {@link AwsXrayPropagator} with
* the propagator name {@code xray}.
*
* @deprecated Moved to <a
* href="https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator">io.opentelemetry.contrib:opentelemetry-aws-xray-propagator</a>.
*/
@Deprecated
public final class AwsConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator(ConfigProperties config) {
Expand Down
Expand Up @@ -41,7 +41,11 @@
* AWSXrayPropagator.getInstance())))
* .build();
* }</pre>
*
* @deprecated Moved to <a
* href="https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator">io.opentelemetry.contrib:opentelemetry-aws-xray-propagator</a>.
*/
@Deprecated
public final class AwsXrayPropagator implements TextMapPropagator {

// Visible for testing
Expand Down
Expand Up @@ -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;
Expand All @@ -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";
Expand Down Expand Up @@ -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");
}

Expand All @@ -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");
}

Expand All @@ -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");
}
Expand Down Expand Up @@ -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
+ '='
Expand All @@ -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");
}

Expand Down Expand Up @@ -187,7 +187,7 @@ void extract_Nothing() {
void extract_SampledContext() {
Map<String, String> 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)))
Expand All @@ -200,7 +200,7 @@ void extract_SampledContext() {
void extract_NotSampledContext() {
Map<String, String> 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)))
Expand All @@ -213,7 +213,7 @@ void extract_NotSampledContext() {
void extract_DifferentPartOrder() {
Map<String, String> 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)))
Expand All @@ -226,7 +226,7 @@ void extract_DifferentPartOrder() {
void extract_AdditionalFields() {
Map<String, String> 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);
Expand All @@ -249,7 +249,7 @@ void extract_Baggage_LimitTruncates() {

Map<String, String> carrier = new LinkedHashMap<>();
carrier.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;"
+ key1
+ '='
Expand All @@ -271,7 +271,7 @@ void extract_Baggage_LimitTruncates() {
@Test
void extract_EmptyHeaderValue() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(TRACE_HEADER_KEY, "");
invalidHeaders.put(AwsXrayPropagator.TRACE_HEADER_KEY, "");

verifyInvalidBehavior(invalidHeaders);
}
Expand All @@ -280,7 +280,7 @@ void extract_EmptyHeaderValue() {
void extract_InvalidTraceId() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=abcdefghijklmnopabcdefghijklmnop;Parent=53995c3f42cd8ad8;Sampled=0");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -290,7 +290,7 @@ void extract_InvalidTraceId() {
void extract_InvalidTraceId_Size() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa600;Parent=53995c3f42cd8ad8;Sampled=0");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -300,7 +300,7 @@ void extract_InvalidTraceId_Size() {
void extract_InvalidSpanId() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=abcdefghijklmnop;Sampled=0");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -310,7 +310,7 @@ void extract_InvalidSpanId() {
void extract_InvalidSpanId_Size() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad800;Sampled=0");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -320,7 +320,7 @@ void extract_InvalidSpanId_Size() {
void extract_InvalidFlags() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -330,7 +330,7 @@ void extract_InvalidFlags() {
void extract_InvalidFlags_Size() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=10220");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -340,7 +340,7 @@ void extract_InvalidFlags_Size() {
void extract_InvalidFlags_NonNumeric() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
AwsXrayPropagator.TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=a");

verifyInvalidBehavior(invalidHeaders);
Expand All @@ -349,7 +349,8 @@ void extract_InvalidFlags_NonNumeric() {
@Test
void extract_Invalid_NoSpanId() {
Map<String, String> 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);
}
Expand Down Expand Up @@ -380,7 +381,7 @@ void extract_nullGetter() {
void extract_EpochPart_ZeroedSingleDigit() {
Map<String, String> 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)))
Expand All @@ -396,7 +397,7 @@ void extract_EpochPart_ZeroedSingleDigit() {
void extract_EpochPart_TwoChars() {
Map<String, String> 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)))
Expand All @@ -412,7 +413,7 @@ void extract_EpochPart_TwoChars() {
void extract_EpochPart_Zeroed() {
Map<String, String> 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)))
Expand All @@ -428,7 +429,7 @@ void extract_EpochPart_Zeroed() {
void extract_InvalidTraceId_EpochPart_TooLong() {
Map<String, String> 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)))
Expand All @@ -439,7 +440,8 @@ void extract_InvalidTraceId_EpochPart_TooLong() {
void extract_InvalidTraceId_EpochPart_Empty() {
Map<String, String> 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());
Expand All @@ -449,7 +451,8 @@ void extract_InvalidTraceId_EpochPart_Empty() {
void extract_InvalidTraceId_EpochPart_Missing() {
Map<String, String> 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());
Expand All @@ -459,7 +462,7 @@ void extract_InvalidTraceId_EpochPart_Missing() {
void extract_InvalidTraceId_WrongVersion() {
Map<String, String> 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)))
Expand Down
2 changes: 0 additions & 2 deletions extensions/trace-propagators/build.gradle.kts
Expand Up @@ -16,6 +16,4 @@ dependencies {

testImplementation("io.jaegertracing:jaeger-client")
testImplementation("com.google.guava:guava")

jmhImplementation(project(":extensions:aws"))
}
Expand Up @@ -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;
Expand Down Expand Up @@ -265,51 +264,4 @@ protected List<Map<String, String>> getHeaders() {
return traceHeaders;
}
}

/** Benchmark for extracting context from AWS X-Ray trace header. */
public static class AwsXrayHeaderContextExtractBenchmark extends AbstractContextExtractBenchmark {

private static final List<Map<String, String>> traceHeaders =
Arrays.asList(
Collections.singletonMap(
"X-Amzn-Trace-Id",
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1"),
Collections.singletonMap(
"X-Amzn-Trace-Id",
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0"),
Collections.singletonMap(
"X-Amzn-Trace-Id",
"Parent=53995c3f42cd8ad8;Sampled=1;Root=1-8a3c60f7-d188f8fa79d48a391a778fa6"),
Collections.singletonMap(
"X-Amzn-Trace-Id",
"Root=1-57ff426a-80c11c39b0c928905eb0828d;Parent=53995c3f42cd8ad8;Sampled=1"),
Collections.singletonMap(
"X-Amzn-Trace-Id",
"Root=1-57ff426a-80c11c39b0c928905eb0828d;Parent=12345c3f42cd8ad8;Sampled=0"));

private final TextMapGetter<Map<String, String>> getter =
new TextMapGetter<Map<String, String>>() {
@Override
public Iterable<String> keys(Map<String, String> carrier) {
return carrier.keySet();
}

@Override
public String get(Map<String, String> carrier, String key) {
return carrier.get(key);
}
};

private final AwsXrayPropagator xrayPropagator = AwsXrayPropagator.getInstance();

@Override
protected Context doExtract() {
return xrayPropagator.extract(Context.current(), getCarrier(), getter);
}

@Override
protected List<Map<String, String>> getHeaders() {
return traceHeaders;
}
}
}
Expand Up @@ -11,7 +11,6 @@
import io.opentelemetry.api.trace.TraceState;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapSetter;
import io.opentelemetry.extension.aws.AwsXrayPropagator;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
Expand Down Expand Up @@ -115,15 +114,4 @@ protected void doInject(Context context, Map<String, String> carrier) {
b3Propagator.inject(context, carrier, setter);
}
}

/** Benchmark for injecting trace context into AWS X-Ray headers. */
public static class AwsXrayPropagatorInjectBenchmark extends AbstractContextInjectBenchmark {
private final AwsXrayPropagator xrayPropagator = AwsXrayPropagator.getInstance();
private final TextMapSetter<Map<String, String>> setter = Map::put;

@Override
protected void doInject(Context context, Map<String, String> carrier) {
xrayPropagator.inject(context, carrier, setter);
}
}
}