Convert TextMapSetters and TextMapGetters to enums (#4522)

* Convert TextMapSetters to enums

* Convert TextMapGetters to enums
This commit is contained in:
Nikita Salnikov-Tarnovski 2021-11-08 22:01:40 +02:00 committed by GitHub
parent 1cddc96c8d
commit e7b8cca107
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 126 additions and 105 deletions

View File

@ -12,7 +12,8 @@ import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
class AkkaHttpServerHeaders implements TextMapGetter<HttpRequest> {
enum AkkaHttpServerHeaders implements TextMapGetter<HttpRequest> {
INSTANCE;
@Override
public Iterable<String> keys(HttpRequest httpRequest) {

View File

@ -28,7 +28,7 @@ public class AkkaHttpServerSingletons {
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor))
.addAttributesExtractor(httpAttributesExtractor)
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(new AkkaHttpServerHeaders());
.newServerInstrumenter(AkkaHttpServerHeaders.INSTANCE);
}
public static Instrumenter<HttpRequest, HttpResponse> instrumenter() {

View File

@ -48,9 +48,8 @@ final class CamelPropagationUtil {
.inject(context, exchangeHeaders, MapSetter.INSTANCE);
}
private static class MapGetter implements TextMapGetter<Map<String, Object>> {
private static final MapGetter INSTANCE = new MapGetter();
private enum MapGetter implements TextMapGetter<Map<String, Object>> {
INSTANCE;
@Override
public Iterable<String> keys(Map<String, Object> map) {
@ -64,9 +63,8 @@ final class CamelPropagationUtil {
}
}
private static class MapSetter implements TextMapSetter<Map<String, Object>> {
private static final MapSetter INSTANCE = new MapSetter();
private enum MapSetter implements TextMapSetter<Map<String, Object>> {
INSTANCE;
@Override
public void set(Map<String, Object> carrier, String key, String value) {

View File

@ -7,7 +7,8 @@ package io.opentelemetry.instrumentation.apachedubbo.v2_7;
import io.opentelemetry.context.propagation.TextMapGetter;
final class DubboHeadersGetter implements TextMapGetter<DubboRequest> {
enum DubboHeadersGetter implements TextMapGetter<DubboRequest> {
INSTANCE;
@Override
public Iterable<String> keys(DubboRequest request) {

View File

@ -7,7 +7,8 @@ package io.opentelemetry.instrumentation.apachedubbo.v2_7;
import io.opentelemetry.context.propagation.TextMapSetter;
final class DubboHeadersSetter implements TextMapSetter<DubboRequest> {
enum DubboHeadersSetter implements TextMapSetter<DubboRequest> {
INSTANCE;
@Override
public void set(DubboRequest request, String key, String value) {

View File

@ -83,7 +83,7 @@ public final class DubboTracingBuilder {
}
return new DubboTracing(
serverInstrumenterBuilder.newServerInstrumenter(new DubboHeadersGetter()),
clientInstrumenterBuilder.newClientInstrumenter(new DubboHeadersSetter()));
serverInstrumenterBuilder.newServerInstrumenter(DubboHeadersGetter.INSTANCE),
clientInstrumenterBuilder.newClientInstrumenter(DubboHeadersSetter.INSTANCE));
}
}

View File

@ -39,7 +39,7 @@ public final class ApacheHttpAsyncClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<ApacheHttpClientRequest, HttpResponse> instrumenter() {

View File

@ -7,7 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.apachehttpasyncclient;
import io.opentelemetry.context.propagation.TextMapSetter;
public class HttpHeaderSetter implements TextMapSetter<ApacheHttpClientRequest> {
enum HttpHeaderSetter implements TextMapSetter<ApacheHttpClientRequest> {
INSTANCE;
@Override
public void set(ApacheHttpClientRequest carrier, String key, String value) {

View File

@ -39,7 +39,7 @@ public final class ApacheHttpClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<HttpMethod, HttpMethod> instrumenter() {

View File

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

View File

@ -39,7 +39,7 @@ public final class ApacheHttpClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<ApacheHttpClientRequest, HttpResponse> instrumenter() {

View File

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

View File

@ -40,7 +40,7 @@ public final class ApacheHttpClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<ClassicHttpRequest, HttpResponse> instrumenter() {

View File

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

View File

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

View File

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

View File

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

View File

@ -40,7 +40,7 @@ public final class AsyncHttpClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<Request, Response> instrumenter() {

View File

@ -8,7 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.asynchttpclient.v1_9;
import com.ning.http.client.Request;
import io.opentelemetry.context.propagation.TextMapSetter;
public class HttpHeaderSetter implements TextMapSetter<Request> {
enum HttpHeaderSetter implements TextMapSetter<Request> {
INSTANCE;
@Override
public void set(Request carrier, String key, String value) {

View File

@ -41,7 +41,7 @@ public final class AsyncHttpClientSingletons {
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addAttributesExtractor(new AsyncHttpClientAdditionalAttributesExtractor())
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<RequestContext, Response> instrumenter() {

View File

@ -7,7 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.asynchttpclient.v2_0;
import io.opentelemetry.context.propagation.TextMapSetter;
public class HttpHeaderSetter implements TextMapSetter<RequestContext> {
enum HttpHeaderSetter implements TextMapSetter<RequestContext> {
INSTANCE;
@Override
public void set(RequestContext carrier, String key, String value) {

View File

@ -59,9 +59,8 @@ final class ParentContextExtractor {
MapGetter.INSTANCE);
}
private static class MapGetter implements TextMapGetter<Map<String, String>> {
private static final MapGetter INSTANCE = new MapGetter();
private enum MapGetter implements TextMapGetter<Map<String, String>> {
INSTANCE;
@Override
public Iterable<String> keys(Map<String, String> map) {

View File

@ -13,9 +13,8 @@ import java.util.Map;
final class SqsParentContext {
private static class MapGetter implements TextMapGetter<Map<String, String>> {
private static final MapGetter INSTANCE = new MapGetter();
enum MapGetter implements TextMapGetter<Map<String, String>> {
INSTANCE;
@Override
public Iterable<String> keys(Map<String, String> map) {

View File

@ -40,7 +40,7 @@ public class GoogleHttpClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<HttpRequest, HttpResponse> instrumenter() {

View File

@ -8,7 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.googlehttpclient;
import com.google.api.client.http.HttpRequest;
import io.opentelemetry.context.propagation.TextMapSetter;
public class HttpHeaderSetter implements TextMapSetter<HttpRequest> {
enum HttpHeaderSetter implements TextMapSetter<HttpRequest> {
INSTANCE;
@Override
public void set(HttpRequest carrier, String key, String value) {

View File

@ -36,7 +36,7 @@ public final class GrizzlySingletons {
context = GrizzlyErrorHolder.init(context);
return ServerSpanNaming.init(context, ServerSpanNaming.Source.CONTAINER);
})
.newServerInstrumenter(new HttpRequestHeadersGetter());
.newServerInstrumenter(HttpRequestHeadersGetter.INSTANCE);
}
public static Instrumenter<HttpRequestPacket, HttpResponsePacket> instrumenter() {

View File

@ -8,7 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.grizzly;
import io.opentelemetry.context.propagation.TextMapGetter;
import org.glassfish.grizzly.http.HttpRequestPacket;
final class HttpRequestHeadersGetter implements TextMapGetter<HttpRequestPacket> {
enum HttpRequestHeadersGetter implements TextMapGetter<HttpRequestPacket> {
INSTANCE;
@Override
public Iterable<String> keys(HttpRequestPacket request) {

View File

@ -9,9 +9,8 @@ import io.grpc.Metadata;
import io.opentelemetry.context.propagation.TextMapGetter;
import javax.annotation.Nullable;
final class GrpcExtractAdapter implements TextMapGetter<GrpcRequest> {
static final GrpcExtractAdapter GETTER = new GrpcExtractAdapter();
enum GrpcRequestGetter implements TextMapGetter<GrpcRequest> {
INSTANCE;
@Override
public Iterable<String> keys(GrpcRequest request) {

View File

@ -94,7 +94,7 @@ public final class GrpcTracingBuilder {
}
return new GrpcTracing(
serverInstrumenterBuilder.newServerInstrumenter(GrpcExtractAdapter.GETTER),
serverInstrumenterBuilder.newServerInstrumenter(GrpcRequestGetter.INSTANCE),
// gRPC client interceptors require two phases, one to set up request and one to execute.
// So we go ahead and inject manually in this instrumentation.
clientInstrumenterBuilder.newInstrumenter(SpanKindExtractor.alwaysClient()),

View File

@ -8,7 +8,8 @@ package io.opentelemetry.instrumentation.jetty.httpclient.v9_2.internal;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.eclipse.jetty.client.api.Request;
final class HttpHeaderSetter implements TextMapSetter<Request> {
enum HttpHeaderSetter implements TextMapSetter<Request> {
INSTANCE;
@Override
public void set(Request request, String key, String value) {

View File

@ -64,6 +64,6 @@ public final class JettyClientInstrumenterBuilder {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
}

View File

@ -32,7 +32,7 @@ public final class JmsSingletons {
return Instrumenter.<MessageWithDestination, Void>builder(
GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newProducerInstrumenter(new MessagePropertySetter());
.newProducerInstrumenter(MessagePropertySetter.INSTANCE);
}
private static Instrumenter<MessageWithDestination, Void> buildConsumerInstrumenter() {
@ -60,7 +60,7 @@ public final class JmsSingletons {
return Instrumenter.<MessageWithDestination, Void>builder(
GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newConsumerInstrumenter(new MessagePropertyGetter());
.newConsumerInstrumenter(MessagePropertyGetter.INSTANCE);
}
public static Instrumenter<MessageWithDestination, Void> producerInstrumenter() {

View File

@ -9,7 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import java.util.Collections;
import javax.jms.JMSException;
public final class MessagePropertyGetter implements TextMapGetter<MessageWithDestination> {
enum MessagePropertyGetter implements TextMapGetter<MessageWithDestination> {
INSTANCE;
@Override
public Iterable<String> keys(MessageWithDestination message) {

View File

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

View File

@ -31,9 +31,10 @@ import org.slf4j.LoggerFactory;
public final class KafkaTracing {
private static final Logger logger = LoggerFactory.getLogger(KafkaTracing.class);
private static final TextMapGetter<ConsumerRecord<?, ?>> GETTER = new KafkaConsumerRecordGetter();
private static final TextMapGetter<ConsumerRecord<?, ?>> GETTER =
KafkaConsumerRecordGetter.INSTANCE;
private static final TextMapSetter<Headers> SETTER = new KafkaHeadersSetter();
private static final TextMapSetter<Headers> SETTER = KafkaHeadersSetter.INSTANCE;
private final OpenTelemetry openTelemetry;
private final Instrumenter<ProducerRecord<?, ?>, Void> producerInstrumenter;

View File

@ -13,7 +13,9 @@ import javax.annotation.Nullable;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.common.header.Header;
public final class KafkaConsumerRecordGetter implements TextMapGetter<ConsumerRecord<?, ?>> {
public enum KafkaConsumerRecordGetter implements TextMapGetter<ConsumerRecord<?, ?>> {
INSTANCE;
@Override
public Iterable<String> keys(ConsumerRecord<?, ?> carrier) {
return StreamSupport.stream(carrier.headers().spliterator(), false)

View File

@ -9,7 +9,8 @@ import io.opentelemetry.context.propagation.TextMapSetter;
import java.nio.charset.StandardCharsets;
import org.apache.kafka.common.header.Headers;
public final class KafkaHeadersSetter implements TextMapSetter<Headers> {
public enum KafkaHeadersSetter implements TextMapSetter<Headers> {
INSTANCE;
@Override
public void set(Headers headers, String key, String value) {

View File

@ -99,11 +99,11 @@ public final class KafkaInstrumenterFactory {
if (!KafkaPropagation.isPropagationEnabled()) {
return builder.newInstrumenter(SpanKindExtractor.alwaysConsumer());
} else if (ExperimentalConfig.get().suppressMessagingReceiveSpans()) {
return builder.newConsumerInstrumenter(new KafkaConsumerRecordGetter());
return builder.newConsumerInstrumenter(KafkaConsumerRecordGetter.INSTANCE);
} else {
builder.addSpanLinksExtractor(
SpanLinksExtractor.fromUpstreamRequest(
GlobalOpenTelemetry.getPropagators(), new KafkaConsumerRecordGetter()));
GlobalOpenTelemetry.getPropagators(), KafkaConsumerRecordGetter.INSTANCE));
return builder.newInstrumenter(SpanKindExtractor.alwaysConsumer());
}
}

View File

@ -14,7 +14,7 @@ import org.apache.kafka.common.record.RecordBatch;
public final class KafkaPropagation {
private static final KafkaHeadersSetter SETTER = new KafkaHeadersSetter();
private static final KafkaHeadersSetter SETTER = KafkaHeadersSetter.INSTANCE;
private static final boolean CLIENT_PROPAGATION_ENABLED =
Config.get().getBoolean("otel.instrumentation.kafka.client-propagation.enabled", true);

View File

@ -7,9 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.liberty.dispatcher;
import io.opentelemetry.context.propagation.TextMapGetter;
public class LibertyDispatcherRequestGetter implements TextMapGetter<LibertyRequest> {
public static final LibertyDispatcherRequestGetter GETTER = new LibertyDispatcherRequestGetter();
enum LibertyDispatcherRequestGetter implements TextMapGetter<LibertyRequest> {
INSTANCE;
@Override
public Iterable<String> keys(LibertyRequest carrier) {

View File

@ -42,7 +42,7 @@ public final class LibertyDispatcherSingletons {
.addContextCustomizer(
(context, request, attributes) -> ServerSpanNaming.init(context, CONTAINER))
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(LibertyDispatcherRequestGetter.GETTER);
.newServerInstrumenter(LibertyDispatcherRequestGetter.INSTANCE);
}
public static Instrumenter<LibertyRequest, LibertyResponse> instrumenter() {

View File

@ -9,7 +9,8 @@ import io.opentelemetry.context.propagation.TextMapSetter;
import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel;
import javax.annotation.Nullable;
final class HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
enum HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
INSTANCE;
@Override
public void set(@Nullable HttpRequestAndChannel carrier, String key, String value) {

View File

@ -44,7 +44,7 @@ public final class NettyClientSingletons {
.addRequestMetrics(HttpClientMetrics.get())
.addContextCustomizer(
(context, requestAndChannel, startAttributes) -> NettyErrorHolder.init(context))
.newClientInstrumenter(new HttpRequestHeadersSetter());
.newClientInstrumenter(HttpRequestHeadersSetter.INSTANCE);
NettyConnectNetAttributesExtractor nettyConnectAttributesExtractor =
new NettyConnectNetAttributesExtractor();

View File

@ -9,7 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel;
import javax.annotation.Nullable;
final class NettyHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
enum NettyHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
INSTANCE;
@Override
public Iterable<String> keys(HttpRequestAndChannel requestAndChannel) {

View File

@ -33,7 +33,7 @@ final class NettyServerSingletons {
.addRequestMetrics(HttpServerMetrics.get())
.addContextCustomizer(
(context, requestAndChannel, startAttributes) -> NettyErrorHolder.init(context))
.newServerInstrumenter(new NettyHeadersGetter());
.newServerInstrumenter(NettyHeadersGetter.INSTANCE);
}
public static Instrumenter<HttpRequestAndChannel, HttpResponse> instrumenter() {

View File

@ -8,7 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.netty.common.client;
import io.opentelemetry.context.propagation.TextMapSetter;
import io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel;
final class HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
enum HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
INSTANCE;
@Override
public void set(HttpRequestAndChannel requestAndChannel, String key, String value) {

View File

@ -43,7 +43,7 @@ public final class NettyClientInstrumenterFactory {
.addAttributesExtractor(netClientAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netClientAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpRequestHeadersSetter());
.newClientInstrumenter(HttpRequestHeadersSetter.INSTANCE);
}
public NettyConnectionInstrumenter createConnectionInstrumenter() {

View File

@ -9,7 +9,9 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel;
import javax.annotation.Nullable;
final class HttpRequestHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
enum HttpRequestHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
INSTANCE;
@Override
public Iterable<String> keys(HttpRequestAndChannel carrier) {
return carrier.request().headers().names();

View File

@ -37,7 +37,7 @@ public final class NettyServerInstrumenterFactory {
// netty is not exactly a "container", but it's the best match out of these
return ServerSpanNaming.init(context, ServerSpanNaming.Source.CONTAINER);
})
.newServerInstrumenter(new HttpRequestHeadersGetter());
.newServerInstrumenter(HttpRequestHeadersGetter.INSTANCE);
}
private NettyServerInstrumenterFactory() {}

View File

@ -10,9 +10,8 @@ import javax.annotation.Nullable;
import okhttp3.Request;
/** Helper class to inject span context into request headers. */
final class RequestHeaderSetter implements TextMapSetter<Request.Builder> {
static final RequestHeaderSetter SETTER = new RequestHeaderSetter();
enum RequestHeaderSetter implements TextMapSetter<Request.Builder> {
INSTANCE;
@Override
public void set(@Nullable Request.Builder carrier, String key, String value) {

View File

@ -55,7 +55,9 @@ final class TracingInterceptor implements Interceptor {
// thus we must use Instrumenter<Request, Response>, and Request is immutable
private Request injectContextToRequest(Request request, Context context) {
Request.Builder requestBuilder = request.newBuilder();
propagators.getTextMapPropagator().inject(context, requestBuilder, RequestHeaderSetter.SETTER);
propagators
.getTextMapPropagator()
.inject(context, requestBuilder, RequestHeaderSetter.INSTANCE);
return requestBuilder.build();
}
}

View File

@ -8,7 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.playws;
import io.opentelemetry.context.propagation.TextMapSetter;
import play.shaded.ahc.org.asynchttpclient.Request;
public class HttpHeaderSetter implements TextMapSetter<Request> {
enum HttpHeaderSetter implements TextMapSetter<Request> {
INSTANCE;
@Override
public void set(Request carrier, String key, String value) {

View File

@ -40,7 +40,7 @@ public class PlayWsClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
public static Instrumenter<Request, Response> instrumenter() {

View File

@ -8,9 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.rabbitmq;
import io.opentelemetry.context.propagation.TextMapGetter;
import java.util.Collections;
public class TextMapExtractAdapter implements TextMapGetter<DeliveryRequest> {
public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();
enum DeliveryRequestGetter implements TextMapGetter<DeliveryRequest> {
INSTANCE;
@Override
public Iterable<String> keys(DeliveryRequest carrier) {

View File

@ -79,6 +79,6 @@ public class RabbitSingletons {
return Instrumenter.<DeliveryRequest, Void>builder(
GlobalOpenTelemetry.get(), instrumentationName, DeliveryRequest::spanName)
.addAttributesExtractors(extractors)
.newConsumerInstrumenter(TextMapExtractAdapter.GETTER);
.newConsumerInstrumenter(DeliveryRequestGetter.INSTANCE);
}
}

View File

@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import javax.annotation.Nullable;
import ratpack.http.Request;
final class RatpackGetter implements TextMapGetter<Request> {
RatpackGetter() {}
enum RatpackGetter implements TextMapGetter<Request> {
INSTANCE;
@Override
public Iterable<String> keys(Request request) {

View File

@ -70,7 +70,7 @@ public final class RatpackTracingBuilder {
.addAttributesExtractor(httpAttributes)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(new RatpackGetter());
.newServerInstrumenter(RatpackGetter.INSTANCE);
return new RatpackTracing(instrumenter);
}

View File

@ -11,7 +11,8 @@ import org.restlet.data.Form;
import org.restlet.data.Message;
import org.restlet.data.Request;
final class RestletHeadersGetter implements TextMapGetter<Request> {
enum RestletHeadersGetter implements TextMapGetter<Request> {
INSTANCE;
@Override
public Iterable<String> keys(Request carrier) {

View File

@ -78,7 +78,7 @@ public final class RestletTracingBuilder {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(new RestletHeadersGetter());
.newServerInstrumenter(RestletHeadersGetter.INSTANCE);
return new RestletTracing(instrumenter);
}

View File

@ -94,13 +94,13 @@ class RocketMqInstrumenterFactory {
if (batch) {
SpanLinksExtractor<MessageExt> spanLinksExtractor =
SpanLinksExtractor.fromUpstreamRequest(
openTelemetry.getPropagators(), TextMapExtractAdapter.GETTER);
openTelemetry.getPropagators(), TextMapExtractAdapter.INSTANCE);
return builder
.addSpanLinksExtractor(spanLinksExtractor)
.newInstrumenter(SpanKindExtractor.alwaysConsumer());
} else {
return builder.newConsumerInstrumenter(TextMapExtractAdapter.GETTER);
return builder.newConsumerInstrumenter(TextMapExtractAdapter.INSTANCE);
}
}

View File

@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import javax.annotation.Nullable;
import org.apache.rocketmq.common.message.MessageExt;
final class TextMapExtractAdapter implements TextMapGetter<MessageExt> {
public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();
enum TextMapExtractAdapter implements TextMapGetter<MessageExt> {
INSTANCE;
@Override
public Iterable<String> keys(MessageExt carrier) {

View File

@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import java.util.Collections;
import javax.servlet.http.HttpServletRequest;
public class JavaxHttpServletRequestGetter implements TextMapGetter<HttpServletRequest> {
public static final JavaxHttpServletRequestGetter GETTER = new JavaxHttpServletRequestGetter();
public enum JavaxHttpServletRequestGetter implements TextMapGetter<HttpServletRequest> {
INSTANCE;
@Override
public Iterable<String> keys(HttpServletRequest carrier) {

View File

@ -22,7 +22,8 @@ public class KafkaBatchProcessSpanLinksExtractor
public KafkaBatchProcessSpanLinksExtractor(ContextPropagators contextPropagators) {
this.singleRecordLinkExtractor =
SpanLinksExtractor.fromUpstreamRequest(contextPropagators, new KafkaConsumerRecordGetter());
SpanLinksExtractor.fromUpstreamRequest(
contextPropagators, KafkaConsumerRecordGetter.INSTANCE);
}
@Override

View File

@ -9,7 +9,9 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import javax.annotation.Nullable;
import org.springframework.amqp.core.Message;
final class MessageHeaderGetter implements TextMapGetter<Message> {
enum MessageHeaderGetter implements TextMapGetter<Message> {
INSTANCE;
@Override
public Iterable<String> keys(Message carrier) {
return carrier.getMessageProperties().getHeaders().keySet();

View File

@ -27,7 +27,7 @@ public final class SpringRabbitSingletons {
Instrumenter.<Message, Void>builder(
GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newConsumerInstrumenter(new MessageHeaderGetter());
.newConsumerInstrumenter(MessageHeaderGetter.INSTANCE);
}
public static Instrumenter<Message, Void> instrumenter() {

View File

@ -8,7 +8,9 @@ package io.opentelemetry.instrumentation.spring.web;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.springframework.http.HttpRequest;
final class HttpRequestSetter implements TextMapSetter<HttpRequest> {
enum HttpRequestSetter implements TextMapSetter<HttpRequest> {
INSTANCE;
@Override
public void set(HttpRequest httpRequest, String key, String value) {
httpRequest.getHeaders().set(key, value);

View File

@ -72,7 +72,7 @@ public final class SpringWebTracingBuilder {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpRequestSetter());
.newClientInstrumenter(HttpRequestSetter.INSTANCE);
return new SpringWebTracing(instrumenter);
}

View File

@ -74,7 +74,7 @@ public final class SpringWebMvcTracingBuilder {
.addAttributesExtractor(new SpringWebMvcNetAttributesExtractor())
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(JavaxHttpServletRequestGetter.GETTER);
.newServerInstrumenter(JavaxHttpServletRequestGetter.INSTANCE);
return new SpringWebMvcTracing(instrumenter);
}

View File

@ -56,6 +56,6 @@ public final class TomcatInstrumenterFactory {
return AppServerBridge.init(context);
})
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(TomcatRequestGetter.GETTER);
.newServerInstrumenter(TomcatRequestGetter.INSTANCE);
}
}

View File

@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter;
import java.util.Collections;
import org.apache.coyote.Request;
public class TomcatRequestGetter implements TextMapGetter<Request> {
public static final TomcatRequestGetter GETTER = new TomcatRequestGetter();
enum TomcatRequestGetter implements TextMapGetter<Request> {
INSTANCE;
@Override
public Iterable<String> keys(Request carrier) {

View File

@ -10,9 +10,8 @@ import io.undertow.server.HttpServerExchange;
import io.undertow.util.HttpString;
import java.util.stream.Collectors;
public class UndertowExchangeGetter implements TextMapGetter<HttpServerExchange> {
public static final UndertowExchangeGetter GETTER = new UndertowExchangeGetter();
enum UndertowExchangeGetter implements TextMapGetter<HttpServerExchange> {
INSTANCE;
@Override
public Iterable<String> keys(HttpServerExchange carrier) {

View File

@ -51,7 +51,7 @@ public final class UndertowSingletons {
return AppServerBridge.init(context);
})
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(UndertowExchangeGetter.GETTER);
.newServerInstrumenter(UndertowExchangeGetter.INSTANCE);
}
private static final UndertowHelper HELPER = new UndertowHelper(INSTRUMENTER);