Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert TextMapSetters and TextMapGetters to enums #4522

Merged
merged 4 commits into from
Nov 8, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,8 @@ static void injectParent(Context context, Map<String, Object> exchangeHeaders) {
.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) {
Expand All @@ -64,9 +63,8 @@ public String get(Map<String, Object> map, String key) {
}
}

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public DubboTracing build() {
}

return new DubboTracing(
serverInstrumenterBuilder.newServerInstrumenter(new DubboHeadersGetter()),
clientInstrumenterBuilder.newClientInstrumenter(new DubboHeadersSetter()));
serverInstrumenterBuilder.newServerInstrumenter(DubboHeadersGetter.INSTANCE),
clientInstrumenterBuilder.newClientInstrumenter(DubboHeadersSetter.INSTANCE));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public ArmeriaTracing build() {
}

return new ArmeriaTracing(
clientInstrumenterBuilder.newClientInstrumenter(new ClientRequestContextSetter()),
serverInstrumenterBuilder.newServerInstrumenter(new RequestContextGetter()));
clientInstrumenterBuilder.newClientInstrumenter(ClientRequestContextSetter.INSTANCE),
serverInstrumenterBuilder.newServerInstrumenter(RequestContextGetter.INSTANCE));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ static Context fromXrayHeader(String parentHeader) {
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@

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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public GrpcTracing build() {
}

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()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,6 @@ public Instrumenter<Request, Response> build() {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ private static Instrumenter<MessageWithDestination, Void> buildProducerInstrumen
return Instrumenter.<MessageWithDestination, Void>builder(
GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newProducerInstrumenter(new MessagePropertySetter());
.newProducerInstrumenter(MessagePropertySetter.INSTANCE);
}

private static Instrumenter<MessageWithDestination, Void> buildConsumerInstrumenter() {
Expand Down Expand Up @@ -60,7 +60,7 @@ private static Instrumenter<MessageWithDestination, Void> buildListenerInstrumen
return Instrumenter.<MessageWithDestination, Void>builder(
GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, spanNameExtractor)
.addAttributesExtractor(attributesExtractor)
.newConsumerInstrumenter(new MessagePropertyGetter());
.newConsumerInstrumenter(MessagePropertyGetter.INSTANCE);
}

public static Instrumenter<MessageWithDestination, Void> producerInstrumenter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,10 @@
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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
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) {
Expand Down
Loading