Play ws: replace common singleton with factory (#5958)
* Play ws: replace common singleton with factory * Apply suggestions from code review Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com> Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
This commit is contained in:
parent
dc829b59d3
commit
998c85571a
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v1_0;
|
||||
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v1_0.PlayWs10Singletons.instrumenter;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.Scope;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v1_0;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
|
||||
import io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientInstrumenterFactory;
|
||||
import play.shaded.ahc.org.asynchttpclient.Request;
|
||||
import play.shaded.ahc.org.asynchttpclient.Response;
|
||||
|
||||
public final class PlayWs10Singletons {
|
||||
|
||||
private static final Instrumenter<Request, Response> INSTANCE =
|
||||
PlayWsClientInstrumenterFactory.createInstrumenter("io.opentelemetry.play-ws-1.0");
|
||||
|
||||
public static Instrumenter<Request, Response> instrumenter() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
private PlayWs10Singletons() {}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
package io.opentelemetry.javaagent.instrumentation.playws.v1_0;
|
||||
|
||||
import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v1_0.PlayWs10Singletons.instrumenter;
|
||||
import static java.util.Arrays.asList;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v2_0;
|
||||
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v2_0.PlayWs20Singletons.instrumenter;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.Scope;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v2_0;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
|
||||
import io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientInstrumenterFactory;
|
||||
import play.shaded.ahc.org.asynchttpclient.Request;
|
||||
import play.shaded.ahc.org.asynchttpclient.Response;
|
||||
|
||||
public final class PlayWs20Singletons {
|
||||
|
||||
private static final Instrumenter<Request, Response> INSTANCE =
|
||||
PlayWsClientInstrumenterFactory.createInstrumenter("io.opentelemetry.play-ws-2.0");
|
||||
|
||||
public static Instrumenter<Request, Response> instrumenter() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
private PlayWs20Singletons() {}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
package io.opentelemetry.javaagent.instrumentation.playws.v2_0;
|
||||
|
||||
import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v2_0.PlayWs20Singletons.instrumenter;
|
||||
import static java.util.Arrays.asList;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v2_1;
|
||||
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v2_1.PlayWs21Singletons.instrumenter;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.Scope;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.javaagent.instrumentation.playws.v2_1;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
|
||||
import io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientInstrumenterFactory;
|
||||
import play.shaded.ahc.org.asynchttpclient.Request;
|
||||
import play.shaded.ahc.org.asynchttpclient.Response;
|
||||
|
||||
public final class PlayWs21Singletons {
|
||||
|
||||
private static final Instrumenter<Request, Response> INSTANCE =
|
||||
PlayWsClientInstrumenterFactory.createInstrumenter("io.opentelemetry.play-ws-2.1");
|
||||
|
||||
public static Instrumenter<Request, Response> instrumenter() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
private PlayWs21Singletons() {}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
package io.opentelemetry.javaagent.instrumentation.playws.v2_1;
|
||||
|
||||
import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.PlayWsClientSingletons.instrumenter;
|
||||
import static io.opentelemetry.javaagent.instrumentation.playws.v2_1.PlayWs21Singletons.instrumenter;
|
||||
import static java.util.Arrays.asList;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
|
|
|
@ -16,31 +16,23 @@ import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributes
|
|||
import play.shaded.ahc.org.asynchttpclient.Request;
|
||||
import play.shaded.ahc.org.asynchttpclient.Response;
|
||||
|
||||
public class PlayWsClientSingletons {
|
||||
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.play-ws-common";
|
||||
public final class PlayWsClientInstrumenterFactory {
|
||||
|
||||
private static final Instrumenter<Request, Response> INSTRUMENTER;
|
||||
|
||||
static {
|
||||
public static Instrumenter<Request, Response> createInstrumenter(String instrumentationName) {
|
||||
PlayWsClientHttpAttributesGetter httpAttributesGetter = new PlayWsClientHttpAttributesGetter();
|
||||
PlayWsClientNetAttributesGetter netAttributesGetter = new PlayWsClientNetAttributesGetter();
|
||||
|
||||
INSTRUMENTER =
|
||||
Instrumenter.<Request, Response>builder(
|
||||
GlobalOpenTelemetry.get(),
|
||||
INSTRUMENTATION_NAME,
|
||||
HttpSpanNameExtractor.create(httpAttributesGetter))
|
||||
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter))
|
||||
.addAttributesExtractor(HttpClientAttributesExtractor.create(httpAttributesGetter))
|
||||
.addAttributesExtractor(NetClientAttributesExtractor.create(netAttributesGetter))
|
||||
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesGetter))
|
||||
.addRequestMetrics(HttpClientMetrics.get())
|
||||
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
|
||||
return Instrumenter.<Request, Response>builder(
|
||||
GlobalOpenTelemetry.get(),
|
||||
instrumentationName,
|
||||
HttpSpanNameExtractor.create(httpAttributesGetter))
|
||||
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter))
|
||||
.addAttributesExtractor(HttpClientAttributesExtractor.create(httpAttributesGetter))
|
||||
.addAttributesExtractor(NetClientAttributesExtractor.create(netAttributesGetter))
|
||||
.addAttributesExtractor(PeerServiceAttributesExtractor.create(netAttributesGetter))
|
||||
.addRequestMetrics(HttpClientMetrics.get())
|
||||
.newClientInstrumenter(HttpHeaderSetter.INSTANCE);
|
||||
}
|
||||
|
||||
public static Instrumenter<Request, Response> instrumenter() {
|
||||
return INSTRUMENTER;
|
||||
}
|
||||
|
||||
private PlayWsClientSingletons() {}
|
||||
private PlayWsClientInstrumenterFactory() {}
|
||||
}
|
Loading…
Reference in New Issue