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
Next Next commit
Convert TextMapSetters to enums
  • Loading branch information
iNikem committed Oct 27, 2021
commit ef84949e6ad0efbefdb6fb68fc7d438ae2525abc
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,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.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 @@ -84,6 +84,6 @@ public DubboTracing build() {

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

static final String DASH = "__dash__";
private 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 @@ -33,7 +33,7 @@ public final class KafkaTracing {

private static final TextMapGetter<ConsumerRecord<?, ?>> GETTER = new KafkaConsumerRecordGetter();

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 @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

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);
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 HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
enum HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
INSTANCE;

@Override
public void set(@Nullable HttpRequestAndChannel carrier, String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
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 io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel;

final class HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
enum HttpRequestHeadersSetter implements TextMapSetter<HttpRequestAndChannel> {
INSTANCE;

@Override
public void set(HttpRequestAndChannel requestAndChannel, String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public Instrumenter<HttpRequestAndChannel, HttpResponse> createHttpInstrumenter(
.addAttributesExtractor(netClientAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netClientAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpRequestHeadersSetter());
.newClientInstrumenter(HttpRequestHeadersSetter.INSTANCE);
}

public NettyConnectInstrumenter createConnectInstrumenter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
import okhttp3.Request;

/** Helper class to inject span context into request headers. */
final class RequestHeaderSetter implements TextMapSetter<Request.Builder> {

static final RequestHeaderSetter SETTER = new RequestHeaderSetter();
enum RequestHeaderSetter implements TextMapSetter<Request.Builder> {
INSTANCE;

@Override
public void set(@Nullable Request.Builder carrier, String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ public Response intercept(Chain chain) throws IOException {
// thus we must use Instrumenter<Request, Response>, and Request is immutable
private Request injectContextToRequest(Request request, Context context) {
Request.Builder requestBuilder = request.newBuilder();
propagators.getTextMapPropagator().inject(context, requestBuilder, RequestHeaderSetter.SETTER);
propagators
.getTextMapPropagator()
.inject(context, requestBuilder, RequestHeaderSetter.INSTANCE);
return requestBuilder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
import io.opentelemetry.context.propagation.TextMapSetter;
import play.shaded.ahc.org.asynchttpclient.Request;

public class HttpHeaderSetter implements TextMapSetter<Request> {
enum HttpHeaderSetter implements TextMapSetter<Request> {
INSTANCE;

@Override
public void set(Request carrier, String key, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class PlayWsClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpHeaderSetter());
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
}

public static Instrumenter<Request, Response> instrumenter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
import io.opentelemetry.context.propagation.TextMapSetter;
import org.springframework.http.HttpRequest;

final class HttpRequestSetter implements TextMapSetter<HttpRequest> {
enum HttpRequestSetter implements TextMapSetter<HttpRequest> {
INSTANCE;

@Override
public void set(HttpRequest httpRequest, String key, String value) {
httpRequest.getHeaders().set(key, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public SpringWebTracing build() {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractors(additionalExtractors)
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new HttpRequestSetter());
.newClientInstrumenter(HttpRequestSetter.INSTANCE);

return new SpringWebTracing(instrumenter);
}
Expand Down