Rename all InjectAdapters to Setters (#4489)

* Rename all InjectAdapters to Setters

* Errorprone fixes

* Make setter public
This commit is contained in:
Nikita Salnikov-Tarnovski 2021-10-25 22:36:59 +03:00 committed by GitHub
parent 413d7d1fa6
commit 8ea59f0846
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 48 additions and 63 deletions

View File

@ -8,9 +8,8 @@ package io.opentelemetry.instrumentation.awssdk.v1_11;
import com.amazonaws.Request;
import io.opentelemetry.context.propagation.TextMapSetter;
final class AwsSdkInjectAdapter implements TextMapSetter<Request<?>> {
static final AwsSdkInjectAdapter INSTANCE = new AwsSdkInjectAdapter();
enum HeaderSetter implements TextMapSetter<Request<?>> {
INSTANCE;
@Override
public void set(Request<?> request, String name, String value) {

View File

@ -40,7 +40,7 @@ final class TracingRequestHandler extends RequestHandler2 {
}
Context context = requestInstrumenter.start(parentContext, request);
AwsXrayPropagator.getInstance().inject(context, request, AwsSdkInjectAdapter.INSTANCE);
AwsXrayPropagator.getInstance().inject(context, request, HeaderSetter.INSTANCE);
request.addHandlerContext(CONTEXT, context);
}

View File

@ -8,9 +8,8 @@ package io.opentelemetry.instrumentation.awssdk.v2_2;
import io.opentelemetry.context.propagation.TextMapSetter;
import software.amazon.awssdk.http.SdkHttpRequest;
final class AwsSdkInjectAdapter implements TextMapSetter<SdkHttpRequest.Builder> {
static final AwsSdkInjectAdapter INSTANCE = new AwsSdkInjectAdapter();
enum RequestHeaderSetter implements TextMapSetter<SdkHttpRequest.Builder> {
INSTANCE;
@Override
public void set(SdkHttpRequest.Builder builder, String name, String value) {

View File

@ -101,7 +101,7 @@ final class TracingExecutionInterceptor implements ExecutionInterceptor {
}
SdkHttpRequest.Builder builder = httpRequest.toBuilder();
AwsXrayPropagator.getInstance().inject(otelContext, builder, AwsSdkInjectAdapter.INSTANCE);
AwsXrayPropagator.getInstance().inject(otelContext, builder, RequestHeaderSetter.INSTANCE);
return builder.build();
}

View File

@ -8,9 +8,8 @@ package io.opentelemetry.instrumentation.grpc.v1_6;
import io.grpc.Metadata;
import io.opentelemetry.context.propagation.TextMapSetter;
final class GrpcInjectAdapter implements TextMapSetter<Metadata> {
static final GrpcInjectAdapter SETTER = new GrpcInjectAdapter();
enum MetadataSetter implements TextMapSetter<Metadata> {
INSTANCE;
@Override
public void set(Metadata carrier, String key, String value) {

View File

@ -5,8 +5,6 @@
package io.opentelemetry.instrumentation.grpc.v1_6;
import static io.opentelemetry.instrumentation.grpc.v1_6.GrpcInjectAdapter.SETTER;
import io.grpc.CallOptions;
import io.grpc.Channel;
import io.grpc.ClientCall;
@ -88,7 +86,7 @@ final class TracingClientInterceptor implements ClientInterceptor {
@Override
public void start(Listener<RESPONSE> responseListener, Metadata headers) {
propagators.getTextMapPropagator().inject(context, headers, SETTER);
propagators.getTextMapPropagator().inject(context, headers, MetadataSetter.INSTANCE);
try (Scope ignored = context.makeCurrent()) {
super.start(
new TracingClientCallListener(responseListener, parentContext, context, request),

View File

@ -5,8 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.httpurlconnection;
import static io.opentelemetry.javaagent.instrumentation.httpurlconnection.HeadersInjectAdapter.SETTER;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
import io.opentelemetry.instrumentation.api.instrumenter.PeerServiceAttributesExtractor;
@ -32,7 +30,7 @@ public class HttpUrlConnectionSingletons {
.addAttributesExtractor(httpAttributesExtractor)
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.newClientInstrumenter(SETTER);
.newClientInstrumenter(RequestPropertySetter.INSTANCE);
}
public static Instrumenter<HttpURLConnection, Integer> instrumenter() {

View File

@ -8,9 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.httpurlconnection;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.net.HttpURLConnection;
public class HeadersInjectAdapter implements TextMapSetter<HttpURLConnection> {
public static final HeadersInjectAdapter SETTER = new HeadersInjectAdapter();
enum RequestPropertySetter implements TextMapSetter<HttpURLConnection> {
INSTANCE;
@Override
public void set(HttpURLConnection carrier, String key, String value) {

View File

@ -15,12 +15,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
// TODO should this class implement TextMapSetter at all?
/** Context propagation is initiated via {@link HttpHeadersInstrumentation}. */
public class HttpHeadersInjectAdapter implements TextMapSetter<HttpRequest> {
public class HttpHeadersSetter implements TextMapSetter<HttpRequest> {
private final ContextPropagators contextPropagators;
public HttpHeadersInjectAdapter(ContextPropagators contextPropagators) {
public HttpHeadersSetter(ContextPropagators contextPropagators) {
this.contextPropagators = contextPropagators;
}

View File

@ -18,11 +18,11 @@ import java.net.http.HttpResponse;
public class JdkHttpClientSingletons {
private static final HttpHeadersInjectAdapter SETTER;
private static final HttpHeadersSetter SETTER;
private static final Instrumenter<HttpRequest, HttpResponse<?>> INSTRUMENTER;
static {
SETTER = new HttpHeadersInjectAdapter(GlobalOpenTelemetry.getPropagators());
SETTER = new HttpHeadersSetter(GlobalOpenTelemetry.getPropagators());
JdkHttpAttributesExtractor httpAttributesExtractor = new JdkHttpAttributesExtractor();
SpanNameExtractor<HttpRequest> spanNameExtractor =
HttpSpanNameExtractor.create(httpAttributesExtractor);
@ -45,7 +45,7 @@ public class JdkHttpClientSingletons {
return INSTRUMENTER;
}
public static HttpHeadersInjectAdapter setter() {
public static HttpHeadersSetter setter() {
return SETTER;
}

View File

@ -8,9 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v1_1;
import com.sun.jersey.api.client.ClientRequest;
import io.opentelemetry.context.propagation.TextMapSetter;
public final class InjectAdapter implements TextMapSetter<ClientRequest> {
public static final InjectAdapter SETTER = new InjectAdapter();
enum ClientRequestHeaderSetter implements TextMapSetter<ClientRequest> {
INSTANCE;
@Override
public void set(ClientRequest carrier, String key, String value) {

View File

@ -40,7 +40,7 @@ public class JaxRsClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new InjectAdapter());
.newClientInstrumenter(ClientRequestHeaderSetter.INSTANCE);
}
public static Instrumenter<ClientRequest, ClientResponse> instrumenter() {

View File

@ -8,9 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v2_0;
import io.opentelemetry.context.propagation.TextMapSetter;
import javax.ws.rs.client.ClientRequestContext;
public final class InjectAdapter implements TextMapSetter<ClientRequestContext> {
public static final InjectAdapter SETTER = new InjectAdapter();
enum ClientRequestContextHeaderSetter implements TextMapSetter<ClientRequestContext> {
INSTANCE;
@Override
public void set(ClientRequestContext carrier, String key, String value) {

View File

@ -49,7 +49,7 @@ public class JaxRsClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new InjectAdapter());
.newClientInstrumenter(ClientRequestContextHeaderSetter.INSTANCE);
}
public static Instrumenter<ClientRequestContext, ClientResponseContext> instrumenter() {

View File

@ -9,9 +9,8 @@ import io.opentelemetry.context.propagation.TextMapSetter;
import javax.ws.rs.core.MultivaluedMap;
import org.jboss.resteasy.client.jaxrs.internal.ClientInvocation;
public final class ResteasyInjectAdapter implements TextMapSetter<ClientInvocation> {
public static final ResteasyInjectAdapter SETTER = new ResteasyInjectAdapter();
enum ClientInvocationHeaderSetter implements TextMapSetter<ClientInvocation> {
INSTANCE;
@Override
public void set(ClientInvocation carrier, String key, String value) {

View File

@ -50,7 +50,7 @@ public class ResteasyClientSingletons {
.addAttributesExtractor(netAttributesExtractor)
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesExtractor))
.addRequestMetrics(HttpClientMetrics.get())
.newClientInstrumenter(new ResteasyInjectAdapter());
.newClientInstrumenter(ClientInvocationHeaderSetter.INSTANCE);
}
public static Instrumenter<ClientInvocation, Response> instrumenter() {

View File

@ -6,7 +6,6 @@
package io.opentelemetry.javaagent.instrumentation.kubernetesclient;
import static io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor.alwaysClient;
import static io.opentelemetry.javaagent.instrumentation.kubernetesclient.RequestBuilderInjectAdapter.SETTER;
import io.kubernetes.client.openapi.ApiResponse;
import io.opentelemetry.api.GlobalOpenTelemetry;
@ -58,7 +57,9 @@ public class KubernetesClientSingletons {
}
public static void inject(Context context, Request.Builder requestBuilder) {
CONTEXT_PROPAGATORS.getTextMapPropagator().inject(context, requestBuilder, SETTER);
CONTEXT_PROPAGATORS
.getTextMapPropagator()
.inject(context, requestBuilder, RequestBuilderHeaderSetter.INSTANCE);
}
private KubernetesClientSingletons() {}

View File

@ -11,9 +11,8 @@ import okhttp3.Request;
/** Helper class to inject span context into request headers. */
// TODO(anuraaga): Figure out a way to avoid copying this from okhttp instrumentation.
final class RequestBuilderInjectAdapter implements TextMapSetter<Request.Builder> {
static final RequestBuilderInjectAdapter SETTER = new RequestBuilderInjectAdapter();
enum RequestBuilderHeaderSetter implements TextMapSetter<Request.Builder> {
INSTANCE;
@Override
public void set(@Nullable Request.Builder carrier, String key, String value) {

View File

@ -8,8 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.okhttp.v2_2;
import com.squareup.okhttp.Request;
import io.opentelemetry.context.propagation.TextMapSetter;
public class RequestBuilderInjectAdapter implements TextMapSetter<Request.Builder> {
public static final RequestBuilderInjectAdapter SETTER = new RequestBuilderInjectAdapter();
enum RequestBuilderHeaderSetter implements TextMapSetter<Request.Builder> {
INSTANCE;
@Override
public void set(Request.Builder carrier, String key, String value) {

View File

@ -53,7 +53,7 @@ public class TracingInterceptor implements Interceptor {
Request.Builder requestBuilder = request.newBuilder();
propagators
.getTextMapPropagator()
.inject(context, requestBuilder, RequestBuilderInjectAdapter.SETTER);
.inject(context, requestBuilder, RequestBuilderHeaderSetter.INSTANCE);
return requestBuilder.build();
}
}

View File

@ -8,9 +8,8 @@ package io.opentelemetry.javaagent.instrumentation.rabbitmq;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.util.Map;
public class TextMapInjectAdapter implements TextMapSetter<Map<String, Object>> {
public static final TextMapInjectAdapter SETTER = new TextMapInjectAdapter();
public enum MapSetter implements TextMapSetter<Map<String, Object>> {
INSTANCE;
@Override
public void set(Map<String, Object> carrier, String key, String value) {

View File

@ -155,7 +155,7 @@ public class RabbitChannelInstrumentation implements TypeInstrumentation {
Map<String, Object> headers = props.getHeaders();
headers = (headers == null) ? new HashMap<>() : new HashMap<>(headers);
tracer().inject(context, headers, TextMapInjectAdapter.SETTER);
tracer().inject(context, headers, MapSetter.INSTANCE);
props =
new AMQP.BasicProperties(

View File

@ -25,7 +25,7 @@ public class ContextPayload {
private final Map<String, String> context;
public static final ExtractAdapter GETTER = new ExtractAdapter();
public static final InjectAdapter SETTER = new InjectAdapter();
public static final ContextPayloadSetter SETTER = ContextPayloadSetter.INSTANCE;
public ContextPayload() {
context = new HashMap<>();
@ -74,7 +74,9 @@ public class ContextPayload {
}
}
public static class InjectAdapter implements TextMapSetter<ContextPayload> {
enum ContextPayloadSetter implements TextMapSetter<ContextPayload> {
INSTANCE;
@Override
public void set(ContextPayload carrier, String key, String value) {
carrier.getSpanContext().put(key, value);

View File

@ -8,9 +8,8 @@ package io.opentelemetry.instrumentation.rocketmq;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.util.Map;
final class TextMapInjectAdapter implements TextMapSetter<Map<String, String>> {
public static final TextMapInjectAdapter SETTER = new TextMapInjectAdapter();
enum MapSetter implements TextMapSetter<Map<String, String>> {
INSTANCE;
@Override
public void set(Map<String, String> carrier, String key, String value) {

View File

@ -5,8 +5,6 @@
package io.opentelemetry.instrumentation.rocketmq;
import static io.opentelemetry.instrumentation.rocketmq.TextMapInjectAdapter.SETTER;
import io.opentelemetry.context.Context;
import org.apache.rocketmq.client.hook.SendMessageContext;
import org.apache.rocketmq.client.hook.SendMessageHook;
@ -34,7 +32,7 @@ final class TracingSendMessageHookImpl implements SendMessageHook {
Context otelContext =
tracer.startProducerSpan(Context.current(), context.getBrokerAddr(), context.getMessage());
if (propagationEnabled) {
tracer.inject(otelContext, context.getMessage().getProperties(), SETTER);
tracer.inject(otelContext, context.getMessage().getProperties(), MapSetter.INSTANCE);
}
context.setMqTraceContext(otelContext);
}

View File

@ -8,9 +8,8 @@ package io.opentelemetry.instrumentation.spring.webflux.client;
import io.opentelemetry.context.propagation.TextMapSetter;
import org.springframework.web.reactive.function.client.ClientRequest;
class HttpHeadersInjectAdapter implements TextMapSetter<ClientRequest.Builder> {
static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();
enum HttpHeadersSetter implements TextMapSetter<ClientRequest.Builder> {
INSTANCE;
@Override
public void set(ClientRequest.Builder carrier, String key, String value) {

View File

@ -5,8 +5,6 @@
package io.opentelemetry.instrumentation.spring.webflux.client;
import static io.opentelemetry.instrumentation.spring.webflux.client.HttpHeadersInjectAdapter.SETTER;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.Context;
@ -81,7 +79,7 @@ class SpringWebfluxHttpClientTracer
@Override
protected TextMapSetter<ClientRequest.Builder> getSetter() {
return SETTER;
return HttpHeadersSetter.INSTANCE;
}
@Override