Move AwsXrayPropagator to extension artifact. (#2771)
This commit is contained in:
parent
8898e4c441
commit
4670252e20
|
|
@ -0,0 +1,14 @@
|
|||
plugins {
|
||||
id "java-library"
|
||||
id "maven-publish"
|
||||
|
||||
id "ru.vyarus.animalsniffer"
|
||||
}
|
||||
|
||||
description = 'OpenTelemetry API Extensions for AWS'
|
||||
ext.moduleName = "io.opentelemetry.extension.aws"
|
||||
|
||||
dependencies {
|
||||
api project(':api:all')
|
||||
compileOnly project(':sdk-extensions:autoconfigure')
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.extension.aws;
|
||||
|
||||
import io.opentelemetry.context.propagation.TextMapPropagator;
|
||||
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
|
||||
|
||||
/**
|
||||
* A {@link ConfigurablePropagatorProvider} which allows enabling the {@link AwsXrayPropagator} with
|
||||
* the propagator name {@code xray}.
|
||||
*/
|
||||
public class AwsConfigurablePropagator implements ConfigurablePropagatorProvider {
|
||||
@Override
|
||||
public TextMapPropagator getPropagator() {
|
||||
return AwsXrayPropagator.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "xray";
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.extension.trace.propagation;
|
||||
package io.opentelemetry.extension.aws;
|
||||
|
||||
import io.opentelemetry.api.trace.Span;
|
||||
import io.opentelemetry.api.trace.SpanContext;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
/** OpenTelemetry API extensions for use with AWS. */
|
||||
@ParametersAreNonnullByDefault
|
||||
package io.opentelemetry.extension.aws;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
|
@ -0,0 +1 @@
|
|||
io.opentelemetry.extension.aws.AwsConfigurablePropagator
|
||||
|
|
@ -3,9 +3,9 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.extension.trace.propagation;
|
||||
package io.opentelemetry.extension.aws;
|
||||
|
||||
import static io.opentelemetry.extension.trace.propagation.AwsXrayPropagator.TRACE_HEADER_KEY;
|
||||
import static io.opentelemetry.extension.aws.AwsXrayPropagator.TRACE_HEADER_KEY;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.api.trace.Span;
|
||||
|
|
@ -15,18 +15,6 @@ OpenTelemetry Java provides first-party support for
|
|||
[Jaeger](https://github.com/jaegertracing/jaeger) propagators. Issues with those propagators
|
||||
should be filed against this repo.
|
||||
|
||||
This project also contains 3rd-party propagators for other formats. These propagators are here for
|
||||
convenience and are not officially supported by the OpenTelemetry Java maintainers.
|
||||
|
||||
Issues/support for these propagators is only provided as a minimal "best effort", and critical
|
||||
bugs should be filed with the respective vendors themselves.
|
||||
|
||||
* AWS X-Ray (file an issue here and mention @anuraaga)
|
||||
* LightStep OpenTracing (file an issue here and mention @carlosalberto)
|
||||
|
||||
Extension providers that do not receive adequate support/maintenance by their respective vendors
|
||||
will become candidates for future removal.
|
||||
|
||||
---
|
||||
#### Running micro-benchmarks
|
||||
From the root of the repo run `./gradlew clean :opentelemetry-extension-trace-propagators:jmh`
|
||||
|
|
|
|||
|
|
@ -14,4 +14,6 @@ dependencies {
|
|||
|
||||
testImplementation "io.jaegertracing:jaeger-client",
|
||||
"com.google.guava:guava"
|
||||
|
||||
jmhImplementation project(":extensions:aws")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ package io.opentelemetry.extension.trace.propagation;
|
|||
import io.opentelemetry.api.trace.Span;
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.propagation.TextMapPropagator;
|
||||
import io.opentelemetry.extension.aws.AwsXrayPropagator;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -271,19 +272,19 @@ public class PropagatorContextExtractBenchmark {
|
|||
private static final List<Map<String, String>> traceHeaders =
|
||||
Arrays.asList(
|
||||
Collections.singletonMap(
|
||||
AwsXrayPropagator.TRACE_HEADER_KEY,
|
||||
"X-Amzn-Trace-Id",
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1"),
|
||||
Collections.singletonMap(
|
||||
AwsXrayPropagator.TRACE_HEADER_KEY,
|
||||
"X-Amzn-Trace-Id",
|
||||
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0"),
|
||||
Collections.singletonMap(
|
||||
AwsXrayPropagator.TRACE_HEADER_KEY,
|
||||
"X-Amzn-Trace-Id",
|
||||
"Parent=53995c3f42cd8ad8;Sampled=1;Root=1-8a3c60f7-d188f8fa79d48a391a778fa6"),
|
||||
Collections.singletonMap(
|
||||
AwsXrayPropagator.TRACE_HEADER_KEY,
|
||||
"X-Amzn-Trace-Id",
|
||||
"Root=1-57ff426a-80c11c39b0c928905eb0828d;Parent=53995c3f42cd8ad8;Sampled=1"),
|
||||
Collections.singletonMap(
|
||||
AwsXrayPropagator.TRACE_HEADER_KEY,
|
||||
"X-Amzn-Trace-Id",
|
||||
"Root=1-57ff426a-80c11c39b0c928905eb0828d;Parent=12345c3f42cd8ad8;Sampled=0"));
|
||||
|
||||
private final TextMapPropagator.Getter<Map<String, String>> getter =
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import io.opentelemetry.api.trace.TraceFlags;
|
|||
import io.opentelemetry.api.trace.TraceState;
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.propagation.TextMapPropagator;
|
||||
import io.opentelemetry.extension.aws.AwsXrayPropagator;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ dependencies {
|
|||
testRuntimeOnly 'io.grpc:grpc-netty-shaded'
|
||||
testRuntimeOnly "org.slf4j:slf4j-simple"
|
||||
|
||||
testFullConfigImplementation project(':extensions:aws')
|
||||
testFullConfigImplementation project(':extensions:trace-propagators')
|
||||
testFullConfigImplementation project(':exporters:jaeger')
|
||||
testFullConfigImplementation project(':exporters:logging')
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
|
|||
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
|
||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||
import io.opentelemetry.context.propagation.TextMapPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.AwsXrayPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.B3Propagator;
|
||||
import io.opentelemetry.extension.trace.propagation.JaegerPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.OtTracePropagator;
|
||||
|
|
@ -65,8 +64,6 @@ final class PropagatorConfiguration {
|
|||
// NB: https://github.com/open-telemetry/opentelemetry-specification/pull/1406
|
||||
case "ottracer":
|
||||
return OtTracePropagator.getInstance();
|
||||
case "xray":
|
||||
return AwsXrayPropagator.getInstance();
|
||||
default:
|
||||
TextMapPropagator spiPropagator = spiPropagators.get(name);
|
||||
if (spiPropagator != null) {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import io.grpc.stub.StreamObserver;
|
|||
import io.opentelemetry.api.GlobalOpenTelemetry;
|
||||
import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
|
||||
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.AwsXrayPropagator;
|
||||
import io.opentelemetry.extension.aws.AwsXrayPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.B3Propagator;
|
||||
import io.opentelemetry.extension.trace.propagation.JaegerPropagator;
|
||||
import io.opentelemetry.extension.trace.propagation.OtTracePropagator;
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ include ":all",
|
|||
":bom-alpha",
|
||||
":dependencyManagement",
|
||||
":extensions:annotations",
|
||||
":extensions:aws",
|
||||
":extensions:kotlin",
|
||||
":extensions:trace-propagators",
|
||||
":exporters:jaeger",
|
||||
|
|
|
|||
Loading…
Reference in New Issue