Change the default Propagator in the API to be a no-op (#1709)

This commit is contained in:
John Watson 2020-09-26 08:34:19 -07:00 committed by GitHub
parent c0969d4680
commit 12af6d9fdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -56,10 +56,7 @@ public final class OpenTelemetry {
private final MeterProvider meterProvider;
private final CorrelationContextManager contextManager;
private volatile ContextPropagators propagators =
DefaultContextPropagators.builder()
.addTextMapPropagator(HttpTraceContext.getInstance())
.build();
private volatile ContextPropagators propagators = DefaultContextPropagators.builder().build();
/**
* Returns a singleton {@link TracerProvider}.

View File

@ -17,8 +17,11 @@
package io.opentelemetry.exporters.inmemory;
import com.google.auto.value.AutoValue;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.context.propagation.DefaultContextPropagators;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import io.opentelemetry.trace.propagation.HttpTraceContext;
import javax.annotation.concurrent.Immutable;
/**
@ -95,6 +98,11 @@ public abstract class InMemoryTracing {
* @since 0.3.0
*/
public final InMemoryTracing build() {
// install the HttpTraceContext propagator into the API for testing with.
OpenTelemetry.setPropagators(
DefaultContextPropagators.builder()
.addTextMapPropagator(HttpTraceContext.getInstance())
.build());
InMemorySpanExporter exporter = InMemorySpanExporter.create();
getTracerProvider().addSpanProcessor(SimpleSpanProcessor.newBuilder(exporter).build());
return setSpanExporter(exporter).autoBuild();