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 1 commit
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
Prev Previous commit
Next Next commit
Convert TextMapGetters to enums
  • Loading branch information
iNikem committed Oct 27, 2021
commit 08b5c70341e7e99a8f0ac22a034d711f19eba334
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 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 @@ -83,7 +83,7 @@ public DubboTracing build() {
}

return new DubboTracing(
serverInstrumenterBuilder.newServerInstrumenter(new DubboHeadersGetter()),
serverInstrumenterBuilder.newServerInstrumenter(DubboHeadersGetter.INSTANCE),
clientInstrumenterBuilder.newClientInstrumenter(DubboHeadersSetter.INSTANCE));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,6 @@ public ArmeriaTracing build() {

return new ArmeriaTracing(
clientInstrumenterBuilder.newClientInstrumenter(ClientRequestContextSetter.INSTANCE),
serverInstrumenterBuilder.newServerInstrumenter(new RequestContextGetter()));
serverInstrumenterBuilder.newServerInstrumenter(RequestContextGetter.INSTANCE));
}
}
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 @@ -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 @@ -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 @@ -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 @@ -15,7 +15,7 @@ enum MessagePropertySetter implements TextMapSetter<MessageWithDestination> {

private static final Logger logger = LoggerFactory.getLogger(MessagePropertySetter.class);

private static final String DASH = "__dash__";
static final String DASH = "__dash__";

@Override
public void set(MessageWithDestination carrier, String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
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 = KafkaHeadersSetter.INSTANCE;

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 @@ -99,11 +99,11 @@ public static Instrumenter<ReceivedRecords, Void> createConsumerReceiveInstrumen
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());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@

import io.opentelemetry.context.propagation.TextMapGetter;

public class LibertyDispatcherRequestGetter implements TextMapGetter<LibertyRequest> {

public static final LibertyDispatcherRequestGetter GETTER = new LibertyDispatcherRequestGetter();
enum LibertyDispatcherRequestGetter implements TextMapGetter<LibertyRequest> {
INSTANCE;

@Override
public Iterable<String> keys(LibertyRequest carrier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public final class LibertyDispatcherSingletons {
.addContextCustomizer(
(context, request, attributes) -> ServerSpanNaming.init(context, CONTAINER))
.addRequestMetrics(HttpServerMetrics.get())
.newServerInstrumenter(LibertyDispatcherRequestGetter.GETTER);
.newServerInstrumenter(LibertyDispatcherRequestGetter.INSTANCE);
}

public static Instrumenter<LibertyRequest, LibertyResponse> instrumenter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel;
import javax.annotation.Nullable;

final class NettyHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
enum NettyHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
INSTANCE;

@Override
public Iterable<String> keys(HttpRequestAndChannel requestAndChannel) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ final class NettyServerSingletons {
.addRequestMetrics(HttpServerMetrics.get())
.addContextCustomizer(
(context, requestAndChannel, startAttributes) -> NettyErrorHolder.init(context))
.newServerInstrumenter(new NettyHeadersGetter());
.newServerInstrumenter(NettyHeadersGetter.INSTANCE);
}

public static Instrumenter<HttpRequestAndChannel, HttpResponse> instrumenter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel;
import javax.annotation.Nullable;

final class HttpRequestHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
enum HttpRequestHeadersGetter implements TextMapGetter<HttpRequestAndChannel> {
INSTANCE;

@Override
public Iterable<String> keys(HttpRequestAndChannel carrier) {
return carrier.request().headers().names();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public static Instrumenter<HttpRequestAndChannel, HttpResponse> create(
// 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() {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
import io.opentelemetry.context.propagation.TextMapGetter;
import java.util.Collections;

public class TextMapExtractAdapter implements TextMapGetter<DeliveryRequest> {

public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();
enum DeliveryRequestGetter implements TextMapGetter<DeliveryRequest> {
INSTANCE;

@Override
public Iterable<String> keys(DeliveryRequest carrier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,6 @@ private static Instrumenter<DeliveryRequest, Void> createDeliverInstrumenter() {
return Instrumenter.<DeliveryRequest, Void>builder(
GlobalOpenTelemetry.get(), instrumentationName, DeliveryRequest::spanName)
.addAttributesExtractors(extractors)
.newConsumerInstrumenter(TextMapExtractAdapter.GETTER);
.newConsumerInstrumenter(DeliveryRequestGetter.INSTANCE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
import javax.annotation.Nullable;
import ratpack.http.Request;

final class RatpackGetter implements TextMapGetter<Request> {

RatpackGetter() {}
enum RatpackGetter implements TextMapGetter<Request> {
INSTANCE;

@Override
public Iterable<String> keys(Request request) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,6 @@ public RatpackTracing build() {
builder.addAttributesExtractor(httpAttributes);
builder.addAttributesExtractors(additionalExtractors);

return new RatpackTracing(builder.newServerInstrumenter(new RatpackGetter()));
return new RatpackTracing(builder.newServerInstrumenter(RatpackGetter.INSTANCE));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
import org.restlet.data.Message;
import org.restlet.data.Request;

final class RestletHeadersGetter implements TextMapGetter<Request> {
enum RestletHeadersGetter implements TextMapGetter<Request> {
INSTANCE;

@Override
public Iterable<String> keys(Request carrier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public RestletTracing build() {
.addAttributesExtractor(httpAttributesExtractor)
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.newServerInstrumenter(new RestletHeadersGetter());
.newServerInstrumenter(RestletHeadersGetter.INSTANCE);

return new RestletTracing(instrumenter);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class ContextPayload {
private static final Logger logger = LoggerFactory.getLogger(ContextPayload.class);

private final Map<String, String> context;
public static final ExtractAdapter GETTER = new ExtractAdapter();
public static final ContextPayloadGetter GETTER = ContextPayloadGetter.INSTANCE;
public static final ContextPayloadSetter SETTER = ContextPayloadSetter.INSTANCE;

public ContextPayload() {
Expand Down Expand Up @@ -62,7 +62,9 @@ public void write(ObjectOutput out) throws IOException {
out.writeObject(context);
}

public static class ExtractAdapter implements TextMapGetter<ContextPayload> {
enum ContextPayloadGetter implements TextMapGetter<ContextPayload> {
INSTANCE;

@Override
public Iterable<String> keys(ContextPayload contextPayload) {
return contextPayload.getSpanContext().keySet();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,13 @@ private static Instrumenter<MessageExt, Void> createProcessInstrumenter(
if (batch) {
SpanLinksExtractor<MessageExt> spanLinksExtractor =
SpanLinksExtractor.fromUpstreamRequest(
openTelemetry.getPropagators(), TextMapExtractAdapter.GETTER);
openTelemetry.getPropagators(), TextMapExtractAdapter.INSTANCE);

return builder
.addSpanLinksExtractor(spanLinksExtractor)
.newInstrumenter(SpanKindExtractor.alwaysConsumer());
} else {
return builder.newConsumerInstrumenter(TextMapExtractAdapter.GETTER);
return builder.newConsumerInstrumenter(TextMapExtractAdapter.INSTANCE);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
import javax.annotation.Nullable;
import org.apache.rocketmq.common.message.MessageExt;

final class TextMapExtractAdapter implements TextMapGetter<MessageExt> {

public static final TextMapExtractAdapter GETTER = new TextMapExtractAdapter();
enum TextMapExtractAdapter implements TextMapGetter<MessageExt> {
INSTANCE;

@Override
public Iterable<String> keys(MessageExt carrier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
import java.util.Collections;
import javax.servlet.http.HttpServletRequest;

public class JavaxHttpServletRequestGetter implements TextMapGetter<HttpServletRequest> {

public static final JavaxHttpServletRequestGetter GETTER = new JavaxHttpServletRequestGetter();
public enum JavaxHttpServletRequestGetter implements TextMapGetter<HttpServletRequest> {
INSTANCE;

@Override
public Iterable<String> keys(HttpServletRequest carrier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public class KafkaBatchProcessSpanLinksExtractor

public KafkaBatchProcessSpanLinksExtractor(ContextPropagators contextPropagators) {
this.singleRecordLinkExtractor =
SpanLinksExtractor.fromUpstreamRequest(contextPropagators, new KafkaConsumerRecordGetter());
SpanLinksExtractor.fromUpstreamRequest(
contextPropagators, KafkaConsumerRecordGetter.INSTANCE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import javax.annotation.Nullable;
import org.springframework.amqp.core.Message;

final class MessageHeaderGetter implements TextMapGetter<Message> {
enum MessageHeaderGetter implements TextMapGetter<Message> {
INSTANCE;

@Override
public Iterable<String> keys(Message carrier) {
return carrier.getMessageProperties().getHeaders().keySet();
Expand Down
Loading