From e7b8cca1073f8b26c9aa67a12f95caa8f3aedb6c Mon Sep 17 00:00:00 2001 From: Nikita Salnikov-Tarnovski Date: Mon, 8 Nov 2021 22:01:40 +0200 Subject: [PATCH] Convert TextMapSetters and TextMapGetters to enums (#4522) * Convert TextMapSetters to enums * Convert TextMapGetters to enums --- .../akkahttp/server/AkkaHttpServerHeaders.java | 3 ++- .../akkahttp/server/AkkaHttpServerSingletons.java | 2 +- .../apachecamel/CamelPropagationUtil.java | 10 ++++------ .../apachedubbo/v2_7/DubboHeadersGetter.java | 3 ++- .../apachedubbo/v2_7/DubboHeadersSetter.java | 3 ++- .../apachedubbo/v2_7/DubboTracingBuilder.java | 4 ++-- .../ApacheHttpAsyncClientSingletons.java | 2 +- .../apachehttpasyncclient/HttpHeaderSetter.java | 3 ++- .../v2_0/ApacheHttpClientSingletons.java | 2 +- .../apachehttpclient/v2_0/HttpHeaderSetter.java | 3 ++- .../v4_0/ApacheHttpClientSingletons.java | 2 +- .../apachehttpclient/v4_0/HttpHeaderSetter.java | 3 ++- .../v5_0/ApacheHttpClientSingletons.java | 2 +- .../apachehttpclient/v5_0/HttpHeaderSetter.java | 3 ++- .../armeria/v1_3/ArmeriaTracingBuilder.java | 4 ++-- .../armeria/v1_3/ClientRequestContextSetter.java | 3 ++- .../armeria/v1_3/RequestContextGetter.java | 3 ++- .../v1_9/AsyncHttpClientSingletons.java | 2 +- .../asynchttpclient/v1_9/HttpHeaderSetter.java | 3 ++- .../v2_0/AsyncHttpClientSingletons.java | 2 +- .../asynchttpclient/v2_0/HttpHeaderSetter.java | 3 ++- .../v1_0/internal/ParentContextExtractor.java | 5 ++--- .../instrumentation/awssdk/v1_11/SqsParentContext.java | 5 ++--- .../googlehttpclient/GoogleHttpClientSingletons.java | 2 +- .../googlehttpclient/HttpHeaderSetter.java | 3 ++- .../instrumentation/grizzly/GrizzlySingletons.java | 2 +- .../grizzly/HttpRequestHeadersGetter.java | 3 ++- ...{GrpcExtractAdapter.java => GrpcRequestGetter.java} | 5 ++--- .../instrumentation/grpc/v1_6/GrpcTracingBuilder.java | 2 +- .../httpclient/v9_2/internal/HttpHeaderSetter.java | 3 ++- .../v9_2/internal/JettyClientInstrumenterBuilder.java | 2 +- .../javaagent/instrumentation/jms/JmsSingletons.java | 4 ++-- .../instrumentation/jms/MessagePropertyGetter.java | 3 ++- .../instrumentation/jms/MessagePropertySetter.java | 3 ++- .../instrumentation/kafkaclients/KafkaTracing.java | 5 +++-- .../kafka/internal/KafkaConsumerRecordGetter.java | 4 +++- .../kafka/internal/KafkaHeadersSetter.java | 3 ++- .../kafka/internal/KafkaInstrumenterFactory.java | 4 ++-- .../kafka/internal/KafkaPropagation.java | 2 +- .../dispatcher/LibertyDispatcherRequestGetter.java | 5 ++--- .../dispatcher/LibertyDispatcherSingletons.java | 2 +- .../netty/v3_8/client/HttpRequestHeadersSetter.java | 3 ++- .../netty/v3_8/client/NettyClientSingletons.java | 2 +- .../netty/v3_8/server/NettyHeadersGetter.java | 3 ++- .../netty/v3_8/server/NettyServerSingletons.java | 2 +- .../netty/common/client/HttpRequestHeadersSetter.java | 3 ++- .../common/client/NettyClientInstrumenterFactory.java | 2 +- .../netty/common/server/HttpRequestHeadersGetter.java | 4 +++- .../common/server/NettyServerInstrumenterFactory.java | 2 +- .../okhttp/v3_0/RequestHeaderSetter.java | 5 ++--- .../okhttp/v3_0/TracingInterceptor.java | 4 +++- .../instrumentation/playws/HttpHeaderSetter.java | 3 ++- .../instrumentation/playws/PlayWsClientSingletons.java | 2 +- ...pExtractAdapter.java => DeliveryRequestGetter.java} | 5 ++--- .../instrumentation/rabbitmq/RabbitSingletons.java | 2 +- .../instrumentation/ratpack/RatpackGetter.java | 5 ++--- .../instrumentation/ratpack/RatpackTracingBuilder.java | 2 +- .../restlet/v1_0/RestletHeadersGetter.java | 3 ++- .../restlet/v1_0/RestletTracingBuilder.java | 2 +- .../rocketmq/RocketMqInstrumenterFactory.java | 4 ++-- .../rocketmq/TextMapExtractAdapter.java | 5 ++--- .../servlet/javax/JavaxHttpServletRequestGetter.java | 5 ++--- .../kafka/KafkaBatchProcessSpanLinksExtractor.java | 3 ++- .../spring/rabbit/MessageHeaderGetter.java | 4 +++- .../spring/rabbit/SpringRabbitSingletons.java | 2 +- .../instrumentation/spring/web/HttpRequestSetter.java | 4 +++- .../spring/web/SpringWebTracingBuilder.java | 2 +- .../spring/webmvc/SpringWebMvcTracingBuilder.java | 2 +- .../tomcat/common/TomcatInstrumenterFactory.java | 2 +- .../tomcat/common/TomcatRequestGetter.java | 5 ++--- .../undertow/UndertowExchangeGetter.java | 5 ++--- .../instrumentation/undertow/UndertowSingletons.java | 2 +- 72 files changed, 126 insertions(+), 105 deletions(-) rename instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/{GrpcExtractAdapter.java => GrpcRequestGetter.java} (81%) rename instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/{TextMapExtractAdapter.java => DeliveryRequestGetter.java} (80%) diff --git a/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerHeaders.java b/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerHeaders.java index 2b5a41a511..d353b268a9 100644 --- a/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerHeaders.java +++ b/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerHeaders.java @@ -12,7 +12,8 @@ import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.StreamSupport; -class AkkaHttpServerHeaders implements TextMapGetter { +enum AkkaHttpServerHeaders implements TextMapGetter { + INSTANCE; @Override public Iterable keys(HttpRequest httpRequest) { diff --git a/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerSingletons.java b/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerSingletons.java index 336335f95a..04432455e5 100644 --- a/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerSingletons.java +++ b/instrumentation/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java b/instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java index 8dc5cf96b4..410b721728 100644 --- a/instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java +++ b/instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelPropagationUtil.java @@ -48,9 +48,8 @@ final class CamelPropagationUtil { .inject(context, exchangeHeaders, MapSetter.INSTANCE); } - private static class MapGetter implements TextMapGetter> { - - private static final MapGetter INSTANCE = new MapGetter(); + private enum MapGetter implements TextMapGetter> { + INSTANCE; @Override public Iterable keys(Map map) { @@ -64,9 +63,8 @@ final class CamelPropagationUtil { } } - private static class MapSetter implements TextMapSetter> { - - private static final MapSetter INSTANCE = new MapSetter(); + private enum MapSetter implements TextMapSetter> { + INSTANCE; @Override public void set(Map carrier, String key, String value) { diff --git a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetter.java b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetter.java index a21009c7ca..2b8e262bf7 100644 --- a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetter.java +++ b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetter.java @@ -7,7 +7,8 @@ package io.opentelemetry.instrumentation.apachedubbo.v2_7; import io.opentelemetry.context.propagation.TextMapGetter; -final class DubboHeadersGetter implements TextMapGetter { +enum DubboHeadersGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(DubboRequest request) { diff --git a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersSetter.java b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersSetter.java index f061ec9862..d220d877c3 100644 --- a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersSetter.java +++ b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersSetter.java @@ -7,7 +7,8 @@ package io.opentelemetry.instrumentation.apachedubbo.v2_7; import io.opentelemetry.context.propagation.TextMapSetter; -final class DubboHeadersSetter implements TextMapSetter { +enum DubboHeadersSetter implements TextMapSetter { + INSTANCE; @Override public void set(DubboRequest request, String key, String value) { diff --git a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java index f0e209248c..98dc719fd7 100644 --- a/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java @@ -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)); } } diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientSingletons.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientSingletons.java index 8f3d764293..f2ef538999 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientSingletons.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/HttpHeaderSetter.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/HttpHeaderSetter.java index 5aeea2e9b5..38be9af79a 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/HttpHeaderSetter.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/HttpHeaderSetter.java @@ -7,7 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.apachehttpasyncclient; import io.opentelemetry.context.propagation.TextMapSetter; -public class HttpHeaderSetter implements TextMapSetter { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(ApacheHttpClientRequest carrier, String key, String value) { diff --git a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientSingletons.java b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientSingletons.java index ac724a4f3f..57be8ea53b 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientSingletons.java +++ b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/HttpHeaderSetter.java b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/HttpHeaderSetter.java index 7f50abfe0b..bc07ed67e0 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/HttpHeaderSetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(HttpMethod carrier, String key, String value) { diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientSingletons.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientSingletons.java index 1de7300a84..88b0b5aa96 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientSingletons.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HttpHeaderSetter.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HttpHeaderSetter.java index 5db36095be..2147c40b31 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HttpHeaderSetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/HttpHeaderSetter.java @@ -7,7 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.apachehttpclient.v4_0; import io.opentelemetry.context.propagation.TextMapSetter; -final class HttpHeaderSetter implements TextMapSetter { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(ApacheHttpClientRequest carrier, String key, String value) { diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientSingletons.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientSingletons.java index 3527f40ced..44063e9ab8 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientSingletons.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/HttpHeaderSetter.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/HttpHeaderSetter.java index 505e52e1b5..18e1f96168 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/HttpHeaderSetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(ClassicHttpRequest carrier, String key, String value) { diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java index fb5d632bc6..7b865fc846 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java @@ -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)); } } diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ClientRequestContextSetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ClientRequestContextSetter.java index dd661ed6b8..91ce53e548 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ClientRequestContextSetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ClientRequestContextSetter.java @@ -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 { +enum ClientRequestContextSetter implements TextMapSetter { + INSTANCE; @Override public void set(@Nullable ClientRequestContext carrier, String key, String value) { diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/RequestContextGetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/RequestContextGetter.java index b59ecf8c88..5163333591 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/RequestContextGetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/RequestContextGetter.java @@ -12,7 +12,8 @@ import java.util.Collections; import java.util.stream.Collectors; import javax.annotation.Nullable; -final class RequestContextGetter implements TextMapGetter { +enum RequestContextGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(@Nullable ServiceRequestContext carrier) { diff --git a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientSingletons.java b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientSingletons.java index 8ac5be4db2..489d97ad90 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientSingletons.java +++ b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/HttpHeaderSetter.java b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/HttpHeaderSetter.java index 8b0f8006bd..55f7c59733 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/HttpHeaderSetter.java +++ b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(Request carrier, String key, String value) { diff --git a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientSingletons.java b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientSingletons.java index 59196c89ff..d019b056ab 100644 --- a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientSingletons.java +++ b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/HttpHeaderSetter.java b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/HttpHeaderSetter.java index b39f10ef63..a57d6a7d1f 100644 --- a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/HttpHeaderSetter.java +++ b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/HttpHeaderSetter.java @@ -7,7 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.asynchttpclient.v2_0; import io.opentelemetry.context.propagation.TextMapSetter; -public class HttpHeaderSetter implements TextMapSetter { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(RequestContext carrier, String key, String value) { diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/internal/ParentContextExtractor.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/internal/ParentContextExtractor.java index d040dfd058..a905c46e03 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/internal/ParentContextExtractor.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/internal/ParentContextExtractor.java @@ -59,9 +59,8 @@ final class ParentContextExtractor { MapGetter.INSTANCE); } - private static class MapGetter implements TextMapGetter> { - - private static final MapGetter INSTANCE = new MapGetter(); + private enum MapGetter implements TextMapGetter> { + INSTANCE; @Override public Iterable keys(Map map) { diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java index 928933109b..b7865ccb42 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsParentContext.java @@ -13,9 +13,8 @@ import java.util.Map; final class SqsParentContext { - private static class MapGetter implements TextMapGetter> { - - private static final MapGetter INSTANCE = new MapGetter(); + enum MapGetter implements TextMapGetter> { + INSTANCE; @Override public Iterable keys(Map map) { diff --git a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientSingletons.java b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientSingletons.java index ee52bc8b4e..12cea421eb 100644 --- a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientSingletons.java +++ b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/HttpHeaderSetter.java b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/HttpHeaderSetter.java index aabd166b1c..9966afaf62 100644 --- a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/HttpHeaderSetter.java +++ b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(HttpRequest carrier, String key, String value) { diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java index 345af149d8..7ec41215d4 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/HttpRequestHeadersGetter.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/HttpRequestHeadersGetter.java index 6bba7ce41b..3623c65086 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/HttpRequestHeadersGetter.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/HttpRequestHeadersGetter.java @@ -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 { +enum HttpRequestHeadersGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(HttpRequestPacket request) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcExtractAdapter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequestGetter.java similarity index 81% rename from instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcExtractAdapter.java rename to instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequestGetter.java index ecb385675f..0d7cfe5e48 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcExtractAdapter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequestGetter.java @@ -9,9 +9,8 @@ import io.grpc.Metadata; import io.opentelemetry.context.propagation.TextMapGetter; import javax.annotation.Nullable; -final class GrpcExtractAdapter implements TextMapGetter { - - static final GrpcExtractAdapter GETTER = new GrpcExtractAdapter(); +enum GrpcRequestGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(GrpcRequest request) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java index 54e6017906..f60207ee34 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java @@ -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()), diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/HttpHeaderSetter.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/HttpHeaderSetter.java index df486e125d..bc2c8ab1e2 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/HttpHeaderSetter.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(Request request, String key, String value) { diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyClientInstrumenterBuilder.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyClientInstrumenterBuilder.java index f4b2da00e1..aad9e6a805 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyClientInstrumenterBuilder.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyClientInstrumenterBuilder.java @@ -64,6 +64,6 @@ public final class JettyClientInstrumenterBuilder { .addAttributesExtractor(netAttributesExtractor) .addAttributesExtractors(additionalExtractors) .addRequestMetrics(HttpClientMetrics.get()) - .newClientInstrumenter(new HttpHeaderSetter()); + .newClientInstrumenter(HttpHeaderSetter.INSTANCE); } } diff --git a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSingletons.java b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSingletons.java index c9c22d78bd..498707d357 100644 --- a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSingletons.java +++ b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSingletons.java @@ -32,7 +32,7 @@ public final class JmsSingletons { return Instrumenter.builder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor) .addAttributesExtractor(attributesExtractor) - .newProducerInstrumenter(new MessagePropertySetter()); + .newProducerInstrumenter(MessagePropertySetter.INSTANCE); } private static Instrumenter buildConsumerInstrumenter() { @@ -60,7 +60,7 @@ public final class JmsSingletons { return Instrumenter.builder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor) .addAttributesExtractor(attributesExtractor) - .newConsumerInstrumenter(new MessagePropertyGetter()); + .newConsumerInstrumenter(MessagePropertyGetter.INSTANCE); } public static Instrumenter producerInstrumenter() { diff --git a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertyGetter.java b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertyGetter.java index 1a4fc53e7d..230c264445 100644 --- a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertyGetter.java +++ b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertyGetter.java @@ -9,7 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter; import java.util.Collections; import javax.jms.JMSException; -public final class MessagePropertyGetter implements TextMapGetter { +enum MessagePropertyGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(MessageWithDestination message) { diff --git a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertySetter.java b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertySetter.java index 12bf90b402..4d289bf2e5 100644 --- a/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertySetter.java +++ b/instrumentation/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/MessagePropertySetter.java @@ -10,7 +10,8 @@ import javax.jms.JMSException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -final class MessagePropertySetter implements TextMapSetter { +enum MessagePropertySetter implements TextMapSetter { + INSTANCE; private static final Logger logger = LoggerFactory.getLogger(MessagePropertySetter.class); diff --git a/instrumentation/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/KafkaTracing.java b/instrumentation/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/KafkaTracing.java index 02c481bba9..b6acf5e2b2 100644 --- a/instrumentation/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/KafkaTracing.java +++ b/instrumentation/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/KafkaTracing.java @@ -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> GETTER = new KafkaConsumerRecordGetter(); + private static final TextMapGetter> GETTER = + KafkaConsumerRecordGetter.INSTANCE; - private static final TextMapSetter SETTER = new KafkaHeadersSetter(); + private static final TextMapSetter SETTER = KafkaHeadersSetter.INSTANCE; private final OpenTelemetry openTelemetry; private final Instrumenter, Void> producerInstrumenter; diff --git a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaConsumerRecordGetter.java b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaConsumerRecordGetter.java index 5236baea56..0384d4d7ba 100644 --- a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaConsumerRecordGetter.java +++ b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaConsumerRecordGetter.java @@ -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> { +public enum KafkaConsumerRecordGetter implements TextMapGetter> { + INSTANCE; + @Override public Iterable keys(ConsumerRecord carrier) { return StreamSupport.stream(carrier.headers().spliterator(), false) diff --git a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaHeadersSetter.java b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaHeadersSetter.java index 7318c397b9..33a9192f5d 100644 --- a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaHeadersSetter.java +++ b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaHeadersSetter.java @@ -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 { +public enum KafkaHeadersSetter implements TextMapSetter { + INSTANCE; @Override public void set(Headers headers, String key, String value) { diff --git a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaInstrumenterFactory.java b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaInstrumenterFactory.java index 2da62a0324..4e423e389a 100644 --- a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaInstrumenterFactory.java +++ b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaInstrumenterFactory.java @@ -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()); } } diff --git a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaPropagation.java b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaPropagation.java index a772b1b6d6..d437681edf 100644 --- a/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaPropagation.java +++ b/instrumentation/kafka-clients/kafka-clients-common/library/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaPropagation.java @@ -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); diff --git a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherRequestGetter.java b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherRequestGetter.java index 9e2e801c46..18f228e201 100644 --- a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherRequestGetter.java +++ b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherRequestGetter.java @@ -7,9 +7,8 @@ package io.opentelemetry.javaagent.instrumentation.liberty.dispatcher; import io.opentelemetry.context.propagation.TextMapGetter; -public class LibertyDispatcherRequestGetter implements TextMapGetter { - - public static final LibertyDispatcherRequestGetter GETTER = new LibertyDispatcherRequestGetter(); +enum LibertyDispatcherRequestGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(LibertyRequest carrier) { diff --git a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java index 43ebb297d5..7474dc7e52 100644 --- a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java +++ b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/HttpRequestHeadersSetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/HttpRequestHeadersSetter.java index 804fb9bdcb..5eb538c323 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/HttpRequestHeadersSetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/HttpRequestHeadersSetter.java @@ -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 { +enum HttpRequestHeadersSetter implements TextMapSetter { + INSTANCE; @Override public void set(@Nullable HttpRequestAndChannel carrier, String key, String value) { diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyClientSingletons.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyClientSingletons.java index cc22296be4..5fe05c7971 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyClientSingletons.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyClientSingletons.java @@ -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(); diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyHeadersGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyHeadersGetter.java index 7eb009e63b..46c1a763cb 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyHeadersGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyHeadersGetter.java @@ -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 { +enum NettyHeadersGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(HttpRequestAndChannel requestAndChannel) { diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java index 9a1bf1b312..6757cc2814 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/HttpRequestHeadersSetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/HttpRequestHeadersSetter.java index da7ea57203..401008ee3d 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/HttpRequestHeadersSetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/HttpRequestHeadersSetter.java @@ -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 { +enum HttpRequestHeadersSetter implements TextMapSetter { + INSTANCE; @Override public void set(HttpRequestAndChannel requestAndChannel, String key, String value) { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/NettyClientInstrumenterFactory.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/NettyClientInstrumenterFactory.java index f709d8f193..2f8a326db2 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/NettyClientInstrumenterFactory.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/client/NettyClientInstrumenterFactory.java @@ -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() { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/HttpRequestHeadersGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/HttpRequestHeadersGetter.java index 5683894013..1371d8a4f5 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/HttpRequestHeadersGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/HttpRequestHeadersGetter.java @@ -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 { +enum HttpRequestHeadersGetter implements TextMapGetter { + INSTANCE; + @Override public Iterable keys(HttpRequestAndChannel carrier) { return carrier.request().headers().names(); diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java index 29607cd52d..892ed0766a 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java @@ -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() {} diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/RequestHeaderSetter.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/RequestHeaderSetter.java index bcb4a77194..0d6f5e76d0 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/RequestHeaderSetter.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/RequestHeaderSetter.java @@ -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 { - - static final RequestHeaderSetter SETTER = new RequestHeaderSetter(); +enum RequestHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(@Nullable Request.Builder carrier, String key, String value) { diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/TracingInterceptor.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/TracingInterceptor.java index 9ef8391878..cd1053a1a3 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/TracingInterceptor.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/TracingInterceptor.java @@ -55,7 +55,9 @@ final class TracingInterceptor implements Interceptor { // thus we must use Instrumenter, 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(); } } diff --git a/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/HttpHeaderSetter.java b/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/HttpHeaderSetter.java index 08a83e2b69..06b13f9b6f 100644 --- a/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/HttpHeaderSetter.java +++ b/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/HttpHeaderSetter.java @@ -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 { +enum HttpHeaderSetter implements TextMapSetter { + INSTANCE; @Override public void set(Request carrier, String key, String value) { diff --git a/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientSingletons.java b/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientSingletons.java index 0a06059ad8..297d50361d 100644 --- a/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientSingletons.java +++ b/instrumentation/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientSingletons.java @@ -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 instrumenter() { diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/TextMapExtractAdapter.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/DeliveryRequestGetter.java similarity index 80% rename from instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/TextMapExtractAdapter.java rename to instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/DeliveryRequestGetter.java index 917105aca8..888ba142b3 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/TextMapExtractAdapter.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/DeliveryRequestGetter.java @@ -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 { - - public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter(); +enum DeliveryRequestGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(DeliveryRequest carrier) { diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitSingletons.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitSingletons.java index 12d0ba5523..3cf8d708a5 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitSingletons.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitSingletons.java @@ -79,6 +79,6 @@ public class RabbitSingletons { return Instrumenter.builder( GlobalOpenTelemetry.get(), instrumentationName, DeliveryRequest::spanName) .addAttributesExtractors(extractors) - .newConsumerInstrumenter(TextMapExtractAdapter.GETTER); + .newConsumerInstrumenter(DeliveryRequestGetter.INSTANCE); } } diff --git a/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackGetter.java b/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackGetter.java index 38207808ba..1f1beae996 100644 --- a/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackGetter.java +++ b/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackGetter.java @@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter; import javax.annotation.Nullable; import ratpack.http.Request; -final class RatpackGetter implements TextMapGetter { - - RatpackGetter() {} +enum RatpackGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(Request request) { diff --git a/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java b/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java index 91ca9cfc27..c0a350a8c6 100644 --- a/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java +++ b/instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java @@ -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); } diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletHeadersGetter.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletHeadersGetter.java index 2847b7fcc7..511ccd02ef 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletHeadersGetter.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletHeadersGetter.java @@ -11,7 +11,8 @@ import org.restlet.data.Form; import org.restlet.data.Message; import org.restlet.data.Request; -final class RestletHeadersGetter implements TextMapGetter { +enum RestletHeadersGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(Request carrier) { diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java index 5d43283557..4442da3a52 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java @@ -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); } diff --git a/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/RocketMqInstrumenterFactory.java b/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/RocketMqInstrumenterFactory.java index 3960b30763..5fe37e91f7 100644 --- a/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/RocketMqInstrumenterFactory.java +++ b/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/RocketMqInstrumenterFactory.java @@ -94,13 +94,13 @@ class RocketMqInstrumenterFactory { if (batch) { SpanLinksExtractor 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); } } diff --git a/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/TextMapExtractAdapter.java b/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/TextMapExtractAdapter.java index 097ec53227..3c9ce2d856 100644 --- a/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/TextMapExtractAdapter.java +++ b/instrumentation/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmq/TextMapExtractAdapter.java @@ -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 { - - public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter(); +enum TextMapExtractAdapter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(MessageExt carrier) { diff --git a/instrumentation/servlet/servlet-javax-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/javax/JavaxHttpServletRequestGetter.java b/instrumentation/servlet/servlet-javax-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/javax/JavaxHttpServletRequestGetter.java index 3618bc62fb..c0690de048 100644 --- a/instrumentation/servlet/servlet-javax-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/javax/JavaxHttpServletRequestGetter.java +++ b/instrumentation/servlet/servlet-javax-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/javax/JavaxHttpServletRequestGetter.java @@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter; import java.util.Collections; import javax.servlet.http.HttpServletRequest; -public class JavaxHttpServletRequestGetter implements TextMapGetter { - - public static final JavaxHttpServletRequestGetter GETTER = new JavaxHttpServletRequestGetter(); +public enum JavaxHttpServletRequestGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(HttpServletRequest carrier) { diff --git a/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/KafkaBatchProcessSpanLinksExtractor.java b/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/KafkaBatchProcessSpanLinksExtractor.java index 48f1e1199e..3f54ddecef 100644 --- a/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/KafkaBatchProcessSpanLinksExtractor.java +++ b/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/KafkaBatchProcessSpanLinksExtractor.java @@ -22,7 +22,8 @@ public class KafkaBatchProcessSpanLinksExtractor public KafkaBatchProcessSpanLinksExtractor(ContextPropagators contextPropagators) { this.singleRecordLinkExtractor = - SpanLinksExtractor.fromUpstreamRequest(contextPropagators, new KafkaConsumerRecordGetter()); + SpanLinksExtractor.fromUpstreamRequest( + contextPropagators, KafkaConsumerRecordGetter.INSTANCE); } @Override diff --git a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/MessageHeaderGetter.java b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/MessageHeaderGetter.java index e3555bea99..17d8279e77 100644 --- a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/MessageHeaderGetter.java +++ b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/MessageHeaderGetter.java @@ -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 { +enum MessageHeaderGetter implements TextMapGetter { + INSTANCE; + @Override public Iterable keys(Message carrier) { return carrier.getMessageProperties().getHeaders().keySet(); diff --git a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/SpringRabbitSingletons.java b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/SpringRabbitSingletons.java index cf75bddc79..82a8dcaae7 100644 --- a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/SpringRabbitSingletons.java +++ b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/SpringRabbitSingletons.java @@ -27,7 +27,7 @@ public final class SpringRabbitSingletons { Instrumenter.builder( GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor) .addAttributesExtractor(attributesExtractor) - .newConsumerInstrumenter(new MessageHeaderGetter()); + .newConsumerInstrumenter(MessageHeaderGetter.INSTANCE); } public static Instrumenter instrumenter() { diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/HttpRequestSetter.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/HttpRequestSetter.java index 74c7ef32e8..ee28527f7a 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/HttpRequestSetter.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/HttpRequestSetter.java @@ -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 { +enum HttpRequestSetter implements TextMapSetter { + INSTANCE; + @Override public void set(HttpRequest httpRequest, String key, String value) { httpRequest.getHeaders().set(key, value); diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java index 2cf8aa9f80..e26f4cb139 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java @@ -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); } diff --git a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java index 7e1a4993b4..c26630918c 100644 --- a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java +++ b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java @@ -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); } diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java index 1a5427afab..f70aee14c5 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java @@ -56,6 +56,6 @@ public final class TomcatInstrumenterFactory { return AppServerBridge.init(context); }) .addRequestMetrics(HttpServerMetrics.get()) - .newServerInstrumenter(TomcatRequestGetter.GETTER); + .newServerInstrumenter(TomcatRequestGetter.INSTANCE); } } diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatRequestGetter.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatRequestGetter.java index 1162391148..5f7d2becd7 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatRequestGetter.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatRequestGetter.java @@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapGetter; import java.util.Collections; import org.apache.coyote.Request; -public class TomcatRequestGetter implements TextMapGetter { - - public static final TomcatRequestGetter GETTER = new TomcatRequestGetter(); +enum TomcatRequestGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(Request carrier) { diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowExchangeGetter.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowExchangeGetter.java index 19f27151ca..24869e7fc3 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowExchangeGetter.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowExchangeGetter.java @@ -10,9 +10,8 @@ import io.undertow.server.HttpServerExchange; import io.undertow.util.HttpString; import java.util.stream.Collectors; -public class UndertowExchangeGetter implements TextMapGetter { - - public static final UndertowExchangeGetter GETTER = new UndertowExchangeGetter(); +enum UndertowExchangeGetter implements TextMapGetter { + INSTANCE; @Override public Iterable keys(HttpServerExchange carrier) { diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java index 04da84d3cf..35a79683c6 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java @@ -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);