Don't use singleton for propagator getters/setters (#3054)

This commit is contained in:
Trask Stalnaker 2021-05-21 11:48:54 -07:00 committed by GitHub
parent ccda31ab50
commit f11bd75710
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 14 additions and 20 deletions

View File

@ -86,8 +86,7 @@ class InstrumenterTest {
}
}
enum MapGetter implements TextMapGetter<Map<String, String>> {
INSTANCE;
class MapGetter implements TextMapGetter<Map<String, String>> {
@Override
public Iterable<String> keys(Map<String, String> carrier) {
@ -109,7 +108,7 @@ class InstrumenterTest {
Instrumenter.<Map<String, String>, Map<String, String>>newBuilder(
otelTesting.getOpenTelemetry(), "test", unused -> "span")
.addAttributesExtractors(new AttributesExtractor1(), new AttributesExtractor2())
.newServerInstrumenter(MapGetter.INSTANCE);
.newServerInstrumenter(new MapGetter());
Context context = instrumenter.start(Context.root(), REQUEST);
SpanContext spanContext = Span.fromContext(context).getSpanContext();
@ -151,7 +150,7 @@ class InstrumenterTest {
Instrumenter.<Map<String, String>, Map<String, String>>newBuilder(
otelTesting.getOpenTelemetry(), "test", unused -> "span")
.addAttributesExtractors(new AttributesExtractor1(), new AttributesExtractor2())
.newServerInstrumenter(MapGetter.INSTANCE);
.newServerInstrumenter(new MapGetter());
Context context = instrumenter.start(Context.root(), REQUEST);
SpanContext spanContext = Span.fromContext(context).getSpanContext();
@ -175,7 +174,7 @@ class InstrumenterTest {
Instrumenter.<Map<String, String>, Map<String, String>>newBuilder(
otelTesting.getOpenTelemetry(), "test", unused -> "span")
.addAttributesExtractors(new AttributesExtractor1(), new AttributesExtractor2())
.newServerInstrumenter(MapGetter.INSTANCE);
.newServerInstrumenter(new MapGetter());
Map<String, String> request = new HashMap<>(REQUEST);
W3CTraceContextPropagator.getInstance()

View File

@ -34,7 +34,7 @@ public final class ApacheHttpClientInstrumenters {
.setSpanStatusExtractor(spanStatusExtractor)
.addAttributesExtractor(httpAttributesExtractor)
.addAttributesExtractor(new ApacheHttpClientNetAttributesExtractor())
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
.newClientInstrumenter(new HttpHeaderSetter());
}
public static Instrumenter<HttpMethod, Void> instrumenter() {

View File

@ -9,8 +9,7 @@ import io.opentelemetry.context.propagation.TextMapSetter;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpMethod;
enum HttpHeaderSetter implements TextMapSetter<HttpMethod> {
INSTANCE;
final class HttpHeaderSetter implements TextMapSetter<HttpMethod> {
@Override
public void set(HttpMethod carrier, String key, String value) {

View File

@ -35,7 +35,7 @@ public final class ApacheHttpClientInstrumenters {
.setSpanStatusExtractor(spanStatusExtractor)
.addAttributesExtractor(httpAttributesExtractor)
.addAttributesExtractor(new ApacheHttpClientNetAttributesExtractor())
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
.newClientInstrumenter(new HttpHeaderSetter());
}
public static Instrumenter<HttpUriRequest, HttpResponse> instrumenter() {

View File

@ -8,8 +8,7 @@ package io.opentelemetry.javaagent.instrumentation.apachehttpclient.v4_0;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.apache.http.client.methods.HttpUriRequest;
enum HttpHeaderSetter implements TextMapSetter<HttpUriRequest> {
INSTANCE;
final class HttpHeaderSetter implements TextMapSetter<HttpUriRequest> {
@Override
public void set(HttpUriRequest carrier, String key, String value) {

View File

@ -86,7 +86,7 @@ public final class ArmeriaTracingBuilder {
serverInstrumenterBuilder.addRequestMetrics(HttpServerMetrics.get());
return new ArmeriaTracing(
clientInstrumenterBuilder.newClientInstrumenter(ClientRequestContextSetter.INSTANCE),
serverInstrumenterBuilder.newServerInstrumenter(RequestContextGetter.INSTANCE));
clientInstrumenterBuilder.newClientInstrumenter(new ClientRequestContextSetter()),
serverInstrumenterBuilder.newServerInstrumenter(new RequestContextGetter()));
}
}

View File

@ -9,8 +9,7 @@ import com.linecorp.armeria.client.ClientRequestContext;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.checkerframework.checker.nullness.qual.Nullable;
enum ClientRequestContextSetter implements TextMapSetter<ClientRequestContext> {
INSTANCE;
final class ClientRequestContextSetter implements TextMapSetter<ClientRequestContext> {
@Override
public void set(@Nullable ClientRequestContext carrier, String key, String value) {

View File

@ -12,8 +12,7 @@ import java.util.Collections;
import java.util.stream.Collectors;
import org.checkerframework.checker.nullness.qual.Nullable;
enum RequestContextGetter implements TextMapGetter<ServiceRequestContext> {
INSTANCE;
final class RequestContextGetter implements TextMapGetter<ServiceRequestContext> {
@Override
public Iterable<String> keys(@Nullable ServiceRequestContext carrier) {

View File

@ -30,7 +30,7 @@ public final class JmsInstrumenters {
Instrumenter.<MessageWithDestination, Void>newBuilder(
otel, INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newProducerInstrumenter(MessagePropertySetter.INSTANCE);
.newProducerInstrumenter(new MessagePropertySetter());
// MessageConsumer does not do context propagation
CONSUMER_INSTRUMENTER =
Instrumenter.<MessageWithDestination, Void>newBuilder(

View File

@ -10,8 +10,7 @@ import javax.jms.JMSException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
enum MessagePropertySetter implements TextMapSetter<MessageWithDestination> {
INSTANCE;
final class MessagePropertySetter implements TextMapSetter<MessageWithDestination> {
private static final Logger log = LoggerFactory.getLogger(MessagePropertySetter.class);