From 4c0519e8ec921fd8bb1171f256a5430f0417b1ab Mon Sep 17 00:00:00 2001 From: jason plumb <75337021+breedx-splk@users.noreply.github.com> Date: Fri, 21 Jan 2022 17:01:30 -0800 Subject: [PATCH] Factor out NetServerAttributesGetter (#5194) * factor out NetServerAttributesGetter and favor composition over inheritance. * Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java Co-authored-by: Mateusz Rzeszutek * errorprone and spotless * spotless Co-authored-by: Mateusz Rzeszutek --- .../instrumenter/InstrumenterBenchmark.java | 10 +++-- ...cketAddressNetServerAttributesGetter.java} | 4 +- .../net/NetServerAttributesExtractor.java | 37 +++++++++---------- .../net/NetServerAttributesGetter.java | 31 ++++++++++++++++ .../api/instrumenter/InstrumenterTest.java | 9 +++-- ...AddressNetServerAttributesGetterTest.java} | 11 +++--- .../net/NetServerAttributesExtractorTest.java | 18 ++++++--- .../apachedubbo/v2_7/DubboTracingBuilder.java | 6 ++- ...va => DubboNetServerAttributesGetter.java} | 7 ++-- ... => ArmeriaNetServerAttributesGetter.java} | 7 ++-- .../armeria/v1_3/ArmeriaTracingBuilder.java | 4 +- ...r.java => GrizzlyNetAttributesGetter.java} | 6 +-- .../grizzly/GrizzlySingletons.java | 5 ++- .../grpc/v1_6/GrpcTracingBuilder.java | 6 ++- ...ava => GrpcNetServerAttributesGetter.java} | 7 ++-- ...or.kt => KtorNetServerAttributesGetter.kt} | 4 +- .../ktor/v1_0/KtorServerTracing.kt | 3 +- ...LibertyDispatcherNetAttributesGetter.java} | 6 +-- .../LibertyDispatcherSingletons.java | 2 +- ...va => NettyNetServerAttributesGetter.java} | 7 ++-- .../v3_8/server/NettyServerSingletons.java | 4 +- ...va => NettyNetServerAttributesGetter.java} | 7 ++-- .../NettyServerInstrumenterFactory.java | 4 +- .../ratpack/RatpackTracingBuilder.java | 7 ++-- ...r.java => RatpackNetAttributesGetter.java} | 6 +-- ...r.java => RestletNetAttributesGetter.java} | 5 +-- .../restlet/v1_0/RestletTracingBuilder.java | 2 +- .../internal/RestletInstrumenterFactory.java | 2 +- ...r.java => RestletNetAttributesGetter.java} | 5 +-- .../servlet/ServletInstrumenterBuilder.java | 7 ++-- ...r.java => ServletNetAttributesGetter.java} | 9 ++--- ...java => SpringWebNetAttributesGetter.java} | 6 +-- .../spring/web/SpringWebTracingBuilder.java | 5 ++- ...a => SpringWebMvcNetAttributesGetter.java} | 7 ++-- .../webmvc/SpringWebMvcTracingBuilder.java | 4 +- .../common/TomcatInstrumenterFactory.java | 2 +- ...or.java => TomcatNetAttributesGetter.java} | 5 +-- ....java => UndertowNetAttributesGetter.java} | 6 +-- .../undertow/UndertowSingletons.java | 2 +- 39 files changed, 163 insertions(+), 122 deletions(-) rename instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/{InetSocketAddressNetServerAttributesExtractor.java => InetSocketAddressNetServerAttributesGetter.java} (91%) create mode 100644 instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java rename instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/{InetSocketAddressNetServerAttributesExtractorTest.java => InetSocketAddressNetServerAttributesGetterTest.java} (91%) rename instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/{DubboNetServerAttributesExtractor.java => DubboNetServerAttributesGetter.java} (73%) rename instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/{ArmeriaNetServerAttributesExtractor.java => ArmeriaNetServerAttributesGetter.java} (77%) rename instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/{GrizzlyNetAttributesExtractor.java => GrizzlyNetAttributesGetter.java} (78%) rename instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/{GrpcNetServerAttributesExtractor.java => GrpcNetServerAttributesGetter.java} (80%) rename instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/{KtorNetServerAttributesExtractor.kt => KtorNetServerAttributesGetter.kt} (86%) rename instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/{LibertyDispatcherNetAttributesExtractor.java => LibertyDispatcherNetAttributesGetter.java} (84%) rename instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/{NettyNetServerAttributesExtractor.java => NettyNetServerAttributesGetter.java} (82%) rename instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/{NettyNetServerAttributesExtractor.java => NettyNetServerAttributesGetter.java} (82%) rename instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/{RatpackNetAttributesExtractor.java => RatpackNetAttributesGetter.java} (81%) rename instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/{RestletNetAttributesExtractor.java => RestletNetAttributesGetter.java} (82%) rename instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/{RestletNetAttributesExtractor.java => RestletNetAttributesGetter.java} (83%) rename instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/{ServletNetAttributesExtractor.java => ServletNetAttributesGetter.java} (78%) rename instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/{SpringWebNetAttributesExtractor.java => SpringWebNetAttributesGetter.java} (79%) rename instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/{SpringWebMvcNetAttributesExtractor.java => SpringWebMvcNetAttributesGetter.java} (80%) rename instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/{TomcatNetAttributesExtractor.java => TomcatNetAttributesGetter.java} (86%) rename instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/{UndertowNetAttributesExtractor.java => UndertowNetAttributesGetter.java} (78%) diff --git a/instrumentation-api/src/jmh/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBenchmark.java b/instrumentation-api/src/jmh/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBenchmark.java index 21cb8c293b73..3d6a3e5527bc 100644 --- a/instrumentation-api/src/jmh/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBenchmark.java +++ b/instrumentation-api/src/jmh/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBenchmark.java @@ -10,7 +10,8 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.CapturedHttpHeaders; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.net.InetSocketAddress; import java.util.Collections; @@ -41,7 +42,8 @@ public class InstrumenterBenchmark { "benchmark", HttpSpanNameExtractor.create(ConstantHttpAttributesExtractor.INSTANCE)) .addAttributesExtractor(ConstantHttpAttributesExtractor.INSTANCE) - .addAttributesExtractor(new ConstantNetAttributesExtractor()) + .addAttributesExtractor( + NetServerAttributesExtractor.create(new ConstantNetAttributesGetter())) .newInstrumenter(); @Benchmark @@ -126,8 +128,8 @@ protected List responseHeader(Void unused, Void unused2, String name) { } } - static class ConstantNetAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { + static class ConstantNetAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { private static final InetSocketAddress ADDRESS = InetSocketAddress.createUnresolved("localhost", 8080); diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractor.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java similarity index 91% rename from instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractor.java rename to instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java index 6e871b757e47..92a286f37b5c 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractor.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java @@ -16,8 +16,8 @@ * {@link InetSocketAddress} so this is a convenient alternative to {@link * NetServerAttributesExtractor}. There is no meaning to implement both in the same instrumentation. */ -public abstract class InetSocketAddressNetServerAttributesExtractor - extends NetServerAttributesExtractor { +public abstract class InetSocketAddressNetServerAttributesGetter + implements NetServerAttributesGetter { @Nullable public abstract InetSocketAddress getAddress(REQUEST request); diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java index ab3de319e098..2e0d3056ad9b 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java @@ -14,45 +14,44 @@ * Extractor of Network * attributes. It is common to have access to {@link java.net.InetSocketAddress}, in which case - * it is more convenient to use {@link InetSocketAddressNetServerAttributesExtractor}. + * it is more convenient to use {@link InetSocketAddressNetServerAttributesGetter}. */ -public abstract class NetServerAttributesExtractor +public final class NetServerAttributesExtractor implements AttributesExtractor { + private final NetServerAttributesGetter getter; + + public static NetServerAttributesExtractor create( + NetServerAttributesGetter getter) { + return new NetServerAttributesExtractor<>(getter); + } + + private NetServerAttributesExtractor(NetServerAttributesGetter getter) { + this.getter = getter; + } + @Override public final void onStart(AttributesBuilder attributes, REQUEST request) { - set(attributes, SemanticAttributes.NET_TRANSPORT, transport(request)); + set(attributes, SemanticAttributes.NET_TRANSPORT, getter.transport(request)); - String peerIp = peerIp(request); - String peerName = peerName(request); + String peerIp = getter.peerIp(request); + String peerName = getter.peerName(request); if (peerName != null && !peerName.equals(peerIp)) { set(attributes, SemanticAttributes.NET_PEER_NAME, peerName); } set(attributes, SemanticAttributes.NET_PEER_IP, peerIp); - Integer peerPort = peerPort(request); + Integer peerPort = getter.peerPort(request); if (peerPort != null && peerPort > 0) { set(attributes, SemanticAttributes.NET_PEER_PORT, (long) peerPort); } } @Override - public final void onEnd( + public void onEnd( AttributesBuilder attributes, REQUEST request, @Nullable RESPONSE response, @Nullable Throwable error) {} - - @Nullable - public abstract String transport(REQUEST request); - - @Nullable - public abstract String peerName(REQUEST request); - - @Nullable - public abstract Integer peerPort(REQUEST request); - - @Nullable - public abstract String peerIp(REQUEST request); } diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java new file mode 100644 index 000000000000..9b648cb1968e --- /dev/null +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java @@ -0,0 +1,31 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.instrumenter.net; + +import javax.annotation.Nullable; + +/** + * An interface for getting server-based network attributes. It adapts a vendor-specific request + * type into the 4 common attributes (transport, peerName, peerPort, peerIp). + * + *

Instrumentation authors will create implementations of this interface for their specific + * server library/framework. It will be used by the {@link NetServerAttributesExtractor} to obtain + * the various network attributes in a type-generic way. + */ +public interface NetServerAttributesGetter { + + @Nullable + String transport(REQUEST request); + + @Nullable + String peerName(REQUEST request); + + @Nullable + Integer peerPort(REQUEST request); + + @Nullable + String peerIp(REQUEST request); +} diff --git a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterTest.java b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterTest.java index 02e942be6ab8..889d3e773db7 100644 --- a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterTest.java +++ b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterTest.java @@ -30,6 +30,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.messaging.MessageOperation; import io.opentelemetry.instrumentation.api.instrumenter.messaging.MessagingAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.rpc.RpcAttributesExtractor; import io.opentelemetry.instrumentation.api.internal.SpanKey; import io.opentelemetry.sdk.common.InstrumentationLibraryInfo; @@ -290,7 +291,7 @@ void server_http() { otelTesting.getOpenTelemetry(), "test", unused -> "span") .addAttributesExtractors( mockHttpServerAttributes, - new ConstantNetPeerIpExtractor<>("2.2.2.2"), + NetServerAttributesExtractor.create(new ConstantNetPeerIpGetter<>("2.2.2.2")), new AttributesExtractor1(), new AttributesExtractor2()) .addSpanLinksExtractor(new LinksExtractor()) @@ -765,12 +766,12 @@ private static LinkData expectedSpanLink() { LINK_TRACE_ID, LINK_SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault())); } - private static final class ConstantNetPeerIpExtractor - extends NetServerAttributesExtractor { + private static final class ConstantNetPeerIpGetter + implements NetServerAttributesGetter { private final String peerIp; - private ConstantNetPeerIpExtractor(String peerIp) { + private ConstantNetPeerIpGetter(String peerIp) { this.peerIp = peerIp; } diff --git a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractorTest.java b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java similarity index 91% rename from instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractorTest.java rename to instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java index e5600bd4eb2b..2fa803635eba 100644 --- a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesExtractorTest.java +++ b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java @@ -17,12 +17,11 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class InetSocketAddressNetServerAttributesExtractorTest { +class InetSocketAddressNetServerAttributesGetterTest { - private final InetSocketAddressNetServerAttributesExtractor - extractor = - new InetSocketAddressNetServerAttributesExtractor< - InetSocketAddress, InetSocketAddress>() { + private final NetServerAttributesExtractor extractor = + NetServerAttributesExtractor.create( + new InetSocketAddressNetServerAttributesGetter() { @Override public InetSocketAddress getAddress(InetSocketAddress request) { return request; @@ -32,7 +31,7 @@ public InetSocketAddress getAddress(InetSocketAddress request) { public String transport(InetSocketAddress request) { return SemanticAttributes.NetTransportValues.IP_TCP; } - }; + }); @Test void noInetSocketAddress() { diff --git a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java index e787a1603b64..d3566dd636b5 100644 --- a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java +++ b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java @@ -17,8 +17,8 @@ class NetServerAttributesExtractorTest { - static class TestNetServerAttributesExtractor - extends NetServerAttributesExtractor, Map> { + static class TestNetServerAttributesGetter + implements NetServerAttributesGetter> { @Override public String transport(Map request) { @@ -55,7 +55,8 @@ void normal() { response.put("peerPort", "42"); response.put("peerIp", "4.3.2.1"); - TestNetServerAttributesExtractor extractor = new TestNetServerAttributesExtractor(); + NetServerAttributesExtractor, Map> extractor = + createTestExtractor(); // when AttributesBuilder startAttributes = Attributes.builder(); @@ -89,7 +90,8 @@ public void doesNotSetDuplicateAttributes() { response.put("peerPort", "42"); response.put("peerIp", "4.3.2.1"); - TestNetServerAttributesExtractor extractor = new TestNetServerAttributesExtractor(); + NetServerAttributesExtractor, Map> extractor = + createTestExtractor(); // when AttributesBuilder startAttributes = Attributes.builder(); @@ -117,7 +119,8 @@ public void doesNotSetNegativePort() { Map response = new HashMap<>(); response.put("peerPort", "-1"); - TestNetServerAttributesExtractor extractor = new TestNetServerAttributesExtractor(); + NetServerAttributesExtractor, Map> extractor = + createTestExtractor(); // when AttributesBuilder startAttributes = Attributes.builder(); @@ -130,4 +133,9 @@ public void doesNotSetNegativePort() { assertThat(startAttributes.build()).isEmpty(); assertThat(endAttributes.build()).isEmpty(); } + + private static NetServerAttributesExtractor, Map> + createTestExtractor() { + return NetServerAttributesExtractor.create(new TestNetServerAttributesGetter()); + } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java index 235a9a31160f..5f8b3fa41892 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTracingBuilder.java @@ -7,13 +7,14 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.apachedubbo.v2_7.internal.DubboNetClientAttributesGetter; -import io.opentelemetry.instrumentation.apachedubbo.v2_7.internal.DubboNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.apachedubbo.v2_7.internal.DubboNetServerAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.PeerServiceAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.rpc.RpcSpanNameExtractor; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.ArrayList; @@ -73,7 +74,8 @@ public DubboTracing build() { .addAttributesExtractors(rpcAttributesExtractor) .addAttributesExtractors(attributesExtractors)); - serverInstrumenterBuilder.addAttributesExtractor(new DubboNetServerAttributesExtractor()); + serverInstrumenterBuilder.addAttributesExtractor( + NetServerAttributesExtractor.create(new DubboNetServerAttributesGetter())); clientInstrumenterBuilder.addAttributesExtractor(netClientAttributesExtractor); if (peerService != null) { diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesExtractor.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java similarity index 73% rename from instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesExtractor.java rename to instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java index 42e72ff94e9c..723cd035360e 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesExtractor.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java @@ -6,13 +6,12 @@ package io.opentelemetry.instrumentation.apachedubbo.v2_7.internal; import io.opentelemetry.instrumentation.apachedubbo.v2_7.DubboRequest; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import java.net.InetSocketAddress; import javax.annotation.Nullable; -import org.apache.dubbo.rpc.Result; -public final class DubboNetServerAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +public final class DubboNetServerAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override @Nullable diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesExtractor.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java similarity index 77% rename from instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesExtractor.java rename to instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java index 971dd935ec62..6b3983a2b869 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesExtractor.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java @@ -6,15 +6,14 @@ package io.opentelemetry.instrumentation.armeria.v1_3; import com.linecorp.armeria.common.RequestContext; -import com.linecorp.armeria.common.logging.RequestLog; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; -final class ArmeriaNetServerAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +final class ArmeriaNetServerAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override public String transport(RequestContext ctx) { diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java index 7513aa5db11c..ced45980afb1 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTracingBuilder.java @@ -22,6 +22,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.ArrayList; @@ -137,7 +138,8 @@ public ArmeriaTracing build() { .setSpanStatusExtractor( statusExtractorTransformer.apply( HttpSpanStatusExtractor.create(serverAttributesExtractor))) - .addAttributesExtractor(new ArmeriaNetServerAttributesExtractor()) + .addAttributesExtractor( + NetServerAttributesExtractor.create(new ArmeriaNetServerAttributesGetter())) .addAttributesExtractor(serverAttributesExtractor) .addRequestMetrics(HttpServerMetrics.get()) .addContextCustomizer(ServerSpanNaming.get()); diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesExtractor.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java similarity index 78% rename from instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesExtractor.java rename to instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java index a7fe22176848..ea4f161b7b06 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesExtractor.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java @@ -5,13 +5,11 @@ package io.opentelemetry.javaagent.instrumentation.grizzly; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import javax.annotation.Nullable; import org.glassfish.grizzly.http.HttpRequestPacket; -import org.glassfish.grizzly.http.HttpResponsePacket; -final class GrizzlyNetAttributesExtractor - extends NetServerAttributesExtractor { +final class GrizzlyNetAttributesGetter implements NetServerAttributesGetter { @Nullable @Override diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java index 1471a0989b00..08d33deae98c 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlySingletons.java @@ -10,6 +10,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import org.glassfish.grizzly.http.HttpRequestPacket; import org.glassfish.grizzly.http.HttpResponsePacket; @@ -20,7 +21,7 @@ public final class GrizzlySingletons { static { GrizzlyHttpAttributesExtractor httpAttributesExtractor = new GrizzlyHttpAttributesExtractor(); - GrizzlyNetAttributesExtractor netAttributesExtractor = new GrizzlyNetAttributesExtractor(); + GrizzlyNetAttributesGetter netAttributesGetter = new GrizzlyNetAttributesGetter(); INSTRUMENTER = Instrumenter.builder( @@ -29,7 +30,7 @@ public final class GrizzlySingletons { HttpSpanNameExtractor.create(httpAttributesExtractor)) .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor)) .addAttributesExtractor(httpAttributesExtractor) - .addAttributesExtractor(netAttributesExtractor) + .addAttributesExtractor(NetServerAttributesExtractor.create(netAttributesGetter)) .addRequestMetrics(HttpServerMetrics.get()) .addContextCustomizer( (context, httpRequestPacket, startAttributes) -> GrizzlyErrorHolder.init(context)) diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java index 5563dccb34b7..5b267f82f7f8 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTracingBuilder.java @@ -13,8 +13,9 @@ import io.opentelemetry.instrumentation.api.instrumenter.PeerServiceAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.grpc.v1_6.internal.GrpcNetClientAttributesGetter; -import io.opentelemetry.instrumentation.grpc.v1_6.internal.GrpcNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.grpc.v1_6.internal.GrpcNetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.ArrayList; import java.util.List; @@ -85,7 +86,8 @@ public GrpcTracing build() { clientInstrumenterBuilder.addAttributesExtractor( NetClientAttributesExtractor.create(netClientAttributesExtractor)); - serverInstrumenterBuilder.addAttributesExtractor(new GrpcNetServerAttributesExtractor()); + serverInstrumenterBuilder.addAttributesExtractor( + NetServerAttributesExtractor.create(new GrpcNetServerAttributesGetter())); if (peerService != null) { clientInstrumenterBuilder.addAttributesExtractor( diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesExtractor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java similarity index 80% rename from instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesExtractor.java rename to instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java index 006ec46731af..c10a01ff122a 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesExtractor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java @@ -5,16 +5,15 @@ package io.opentelemetry.instrumentation.grpc.v1_6.internal; -import io.grpc.Status; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import io.opentelemetry.instrumentation.grpc.v1_6.GrpcRequest; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; -public final class GrpcNetServerAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +public final class GrpcNetServerAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override @Nullable public InetSocketAddress getAddress(GrpcRequest request) { diff --git a/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesExtractor.kt b/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt similarity index 86% rename from instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesExtractor.kt rename to instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt index d6a2b3136fb2..eb3c10c10768 100644 --- a/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesExtractor.kt +++ b/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt @@ -7,10 +7,10 @@ package io.opentelemetry.instrumentation.ktor.v1_0 import io.ktor.request.* import io.ktor.response.* -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter import io.opentelemetry.semconv.trace.attributes.SemanticAttributes -internal class KtorNetServerAttributesExtractor : NetServerAttributesExtractor() { +internal class KtorNetServerAttributesGetter : NetServerAttributesGetter { override fun transport(request: ApplicationRequest): String { return SemanticAttributes.NetTransportValues.IP_TCP } diff --git a/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorServerTracing.kt b/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorServerTracing.kt index 1ca5bdcb4d85..b6f0a9af0923 100644 --- a/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorServerTracing.kt +++ b/instrumentation/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorServerTracing.kt @@ -22,6 +22,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.CapturedHttpHeader import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor import io.opentelemetry.instrumentation.api.server.ServerSpanNaming import kotlinx.coroutines.withContext @@ -98,7 +99,7 @@ class KtorServerTracing private constructor( with(instrumenterBuilder) { setSpanStatusExtractor(configuration.statusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor))) - addAttributesExtractor(KtorNetServerAttributesExtractor()) + addAttributesExtractor(NetServerAttributesExtractor.create(KtorNetServerAttributesGetter())) addAttributesExtractor(httpAttributesExtractor) addRequestMetrics(HttpServerMetrics.get()) addContextCustomizer(ServerSpanNaming.get()) diff --git a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesExtractor.java b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java similarity index 84% rename from instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesExtractor.java rename to instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java index f09655cdd9c6..205a65493392 100644 --- a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesExtractor.java +++ b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java @@ -5,12 +5,12 @@ package io.opentelemetry.javaagent.instrumentation.liberty.dispatcher; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; -public class LibertyDispatcherNetAttributesExtractor - extends NetServerAttributesExtractor { +public class LibertyDispatcherNetAttributesGetter + implements NetServerAttributesGetter { @Override public String transport(LibertyRequest libertyRequest) { diff --git a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java index dd8597750e9b..04a85e15a8ec 100644 --- a/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java +++ b/instrumentation/liberty/liberty-dispatcher/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherSingletons.java @@ -29,7 +29,7 @@ public final class LibertyDispatcherSingletons { SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); NetServerAttributesExtractor netAttributesExtractor = - new LibertyDispatcherNetAttributesExtractor(); + NetServerAttributesExtractor.create(new LibertyDispatcherNetAttributesGetter()); INSTRUMENTER = Instrumenter.builder( diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesExtractor.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java similarity index 82% rename from instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesExtractor.java rename to instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java index 0eeb5aab24c6..bed71eb95b02 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesExtractor.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java @@ -8,16 +8,15 @@ import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; import org.jboss.netty.channel.socket.DatagramChannel; -import org.jboss.netty.handler.codec.http.HttpResponse; -final class NettyNetServerAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +final class NettyNetServerAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override @Nullable diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java index 581a7cf6931b..8ab24ea04764 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyServerSingletons.java @@ -10,6 +10,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import io.opentelemetry.javaagent.instrumentation.netty.common.NettyErrorHolder; import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel; @@ -30,7 +31,8 @@ final class NettyServerSingletons { HttpSpanNameExtractor.create(httpServerAttributesExtractor)) .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpServerAttributesExtractor)) .addAttributesExtractor(httpServerAttributesExtractor) - .addAttributesExtractor(new NettyNetServerAttributesExtractor()) + .addAttributesExtractor( + NetServerAttributesExtractor.create(new NettyNetServerAttributesGetter())) .addRequestMetrics(HttpServerMetrics.get()) .addContextCustomizer( (context, requestAndChannel, startAttributes) -> NettyErrorHolder.init(context)) diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesExtractor.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesGetter.java similarity index 82% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesExtractor.java rename to instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesGetter.java index 4e9135345354..33d14c8e2bf0 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesExtractor.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyNetServerAttributesGetter.java @@ -9,15 +9,14 @@ import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; import io.netty.channel.socket.DatagramChannel; -import io.netty.handler.codec.http.HttpResponse; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; -final class NettyNetServerAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +final class NettyNetServerAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override @Nullable diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java index 9e39d0027223..70b8b661d12d 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java @@ -11,6 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import io.opentelemetry.javaagent.instrumentation.netty.common.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.common.NettyErrorHolder; @@ -29,7 +30,8 @@ public static Instrumenter create( HttpSpanNameExtractor.create(httpAttributesExtractor)) .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor)) .addAttributesExtractor(httpAttributesExtractor) - .addAttributesExtractor(new NettyNetServerAttributesExtractor()) + .addAttributesExtractor( + NetServerAttributesExtractor.create(new NettyNetServerAttributesGetter())) .addRequestMetrics(HttpServerMetrics.get()) .addContextCustomizer((context, request, attributes) -> NettyErrorHolder.init(context)) .addContextCustomizer(ServerSpanNaming.get()) diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java index f64d0d28f15b..f87e5c742658 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java @@ -14,8 +14,9 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.ratpack.internal.RatpackHttpNetAttributesGetter; -import io.opentelemetry.instrumentation.ratpack.internal.RatpackNetAttributesExtractor; +import io.opentelemetry.instrumentation.ratpack.internal.RatpackNetAttributesGetter; import java.util.ArrayList; import java.util.List; import ratpack.http.Request; @@ -71,7 +72,7 @@ public RatpackTracingBuilder captureHttpHeaders(CapturedHttpHeaders capturedHttp /** Returns a new {@link RatpackTracing} with the configuration of this builder. */ public RatpackTracing build() { - RatpackNetAttributesExtractor netAttributes = new RatpackNetAttributesExtractor(); + RatpackNetAttributesGetter netAttributes = new RatpackNetAttributesGetter(); RatpackHttpAttributesExtractor httpAttributes = new RatpackHttpAttributesExtractor(capturedHttpHeaders); @@ -79,7 +80,7 @@ public RatpackTracing build() { Instrumenter.builder( openTelemetry, INSTRUMENTATION_NAME, HttpSpanNameExtractor.create(httpAttributes)) .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributes)) - .addAttributesExtractor(netAttributes) + .addAttributesExtractor(NetServerAttributesExtractor.create(netAttributes)) .addAttributesExtractor(httpAttributes) .addAttributesExtractors(additionalExtractors) .addRequestMetrics(HttpServerMetrics.get()) diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesExtractor.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java similarity index 81% rename from instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesExtractor.java rename to instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java index ba1943e3e13a..547b7d210b1f 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesExtractor.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java @@ -5,14 +5,12 @@ package io.opentelemetry.instrumentation.ratpack.internal; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import ratpack.http.Request; -import ratpack.http.Response; -public final class RatpackNetAttributesExtractor - extends NetServerAttributesExtractor { +public final class RatpackNetAttributesGetter implements NetServerAttributesGetter { @Override @Nullable public String transport(Request request) { diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesExtractor.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java similarity index 82% rename from instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesExtractor.java rename to instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java index 2232d8022fcc..9dd1b6636425 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesExtractor.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java @@ -5,13 +5,12 @@ package io.opentelemetry.instrumentation.restlet.v1_0; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.restlet.data.Request; -import org.restlet.data.Response; -final class RestletNetAttributesExtractor extends NetServerAttributesExtractor { +final class RestletNetAttributesGetter implements NetServerAttributesGetter { @Override public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java index 4442da3a528d..b8b7d44f32a4 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletTracingBuilder.java @@ -68,7 +68,7 @@ public RestletTracing build() { SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); NetServerAttributesExtractor netAttributesExtractor = - new RestletNetAttributesExtractor(); + NetServerAttributesExtractor.create(new RestletNetAttributesGetter()); Instrumenter instrumenter = Instrumenter.builder( diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletInstrumenterFactory.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletInstrumenterFactory.java index c02ae785dd95..6c1f776687fb 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletInstrumenterFactory.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletInstrumenterFactory.java @@ -43,7 +43,7 @@ public static Instrumenter newServerInstrumenter( SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); NetServerAttributesExtractor netAttributesExtractor = - new RestletNetAttributesExtractor(); + NetServerAttributesExtractor.create(new RestletNetAttributesGetter()); return Instrumenter.builder( openTelemetry, INSTRUMENTATION_NAME, spanNameExtractor) diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesExtractor.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java similarity index 83% rename from instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesExtractor.java rename to instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java index 157771f0c556..98ac510861b5 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesExtractor.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java @@ -5,13 +5,12 @@ package io.opentelemetry.instrumentation.restlet.v2_0.internal; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.restlet.Request; -import org.restlet.Response; -final class RestletNetAttributesExtractor extends NetServerAttributesExtractor { +final class RestletNetAttributesGetter implements NetServerAttributesGetter { @Override public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java index af35cc9daa16..06074f8da818 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java @@ -16,6 +16,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import java.util.ArrayList; import java.util.List; @@ -47,8 +48,8 @@ public Instrumenter, ServletResponseContext, ServletResponseContext> spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); - ServletNetAttributesExtractor netAttributesExtractor = - new ServletNetAttributesExtractor<>(accessor); + ServletNetAttributesGetter netAttributesGetter = + new ServletNetAttributesGetter<>(accessor); ServletErrorCauseExtractor errorCauseExtractor = new ServletErrorCauseExtractor<>(accessor); AttributesExtractor, ServletResponseContext> @@ -60,7 +61,7 @@ public Instrumenter, ServletResponseContext - extends NetServerAttributesExtractor< - ServletRequestContext, ServletResponseContext> { +public class ServletNetAttributesGetter + implements NetServerAttributesGetter> { private final ServletAccessor accessor; - public ServletNetAttributesExtractor(ServletAccessor accessor) { + public ServletNetAttributesGetter(ServletAccessor accessor) { this.accessor = accessor; } diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesExtractor.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java similarity index 79% rename from instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesExtractor.java rename to instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java index 163d68578561..25e078792425 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesExtractor.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java @@ -5,14 +5,12 @@ package io.opentelemetry.instrumentation.spring.web; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.springframework.http.HttpRequest; -import org.springframework.http.client.ClientHttpResponse; -final class SpringWebNetAttributesExtractor - extends NetServerAttributesExtractor { +final class SpringWebNetAttributesGetter implements NetServerAttributesGetter { @Override public String transport(HttpRequest httpRequest) { return SemanticAttributes.NetTransportValues.IP_TCP; diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java index e26f4cb139c1..487a97f34865 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebTracingBuilder.java @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import java.util.ArrayList; import java.util.List; import org.springframework.http.HttpRequest; @@ -60,7 +61,7 @@ public SpringWebTracingBuilder captureHttpHeaders(CapturedHttpHeaders capturedHt public SpringWebTracing build() { SpringWebHttpAttributesExtractor httpAttributesExtractor = new SpringWebHttpAttributesExtractor(capturedHttpHeaders); - SpringWebNetAttributesExtractor netAttributesExtractor = new SpringWebNetAttributesExtractor(); + SpringWebNetAttributesGetter netAttributesGetter = new SpringWebNetAttributesGetter(); Instrumenter instrumenter = Instrumenter.builder( @@ -69,7 +70,7 @@ public SpringWebTracing build() { HttpSpanNameExtractor.create(httpAttributesExtractor)) .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor)) .addAttributesExtractor(httpAttributesExtractor) - .addAttributesExtractor(netAttributesExtractor) + .addAttributesExtractor(NetServerAttributesExtractor.create(netAttributesGetter)) .addAttributesExtractors(additionalExtractors) .addRequestMetrics(HttpClientMetrics.get()) .newClientInstrumenter(HttpRequestSetter.INSTANCE); diff --git a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesExtractor.java b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesGetter.java similarity index 80% rename from instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesExtractor.java rename to instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesGetter.java index 73a3482883e3..ff4a31b85a04 100644 --- a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesExtractor.java +++ b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcNetAttributesGetter.java @@ -5,14 +5,13 @@ package io.opentelemetry.instrumentation.spring.webmvc; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -final class SpringWebMvcNetAttributesExtractor - extends NetServerAttributesExtractor { +final class SpringWebMvcNetAttributesGetter + implements NetServerAttributesGetter { @Override public String transport(HttpServletRequest request) { return SemanticAttributes.NetTransportValues.IP_TCP; diff --git a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java index fd532eaa596f..0853ba63b8a9 100644 --- a/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java +++ b/instrumentation/spring/spring-webmvc-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/SpringWebMvcTracingBuilder.java @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.api.server.ServerSpanNaming; import java.util.ArrayList; import java.util.List; @@ -71,7 +72,8 @@ public SpringWebMvcTracing build() { .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor)) .addAttributesExtractor(httpAttributesExtractor) .addAttributesExtractor(new StatusCodeExtractor()) - .addAttributesExtractor(new SpringWebMvcNetAttributesExtractor()) + .addAttributesExtractor( + NetServerAttributesExtractor.create(new SpringWebMvcNetAttributesGetter())) .addAttributesExtractors(additionalExtractors) .addRequestMetrics(HttpServerMetrics.get()) .addContextCustomizer(ServerSpanNaming.get()) diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java index dfbd4ed6045c..53a1e07c6c2e 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java @@ -37,7 +37,7 @@ public static Instrumenter create( SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); NetServerAttributesExtractor netAttributesExtractor = - new TomcatNetAttributesExtractor(); + NetServerAttributesExtractor.create(new TomcatNetAttributesGetter()); AttributesExtractor additionalAttributeExtractor = new TomcatAdditionalAttributesExtractor<>(accessor, servletEntityProvider); diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesExtractor.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java similarity index 86% rename from instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesExtractor.java rename to instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java index 76cc9c7f3c5e..ab1441a8ebce 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesExtractor.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java @@ -5,14 +5,13 @@ package io.opentelemetry.javaagent.instrumentation.tomcat.common; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.apache.coyote.ActionCode; import org.apache.coyote.Request; -import org.apache.coyote.Response; -public class TomcatNetAttributesExtractor extends NetServerAttributesExtractor { +public class TomcatNetAttributesGetter implements NetServerAttributesGetter { @Override @Nullable diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesExtractor.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java similarity index 78% rename from instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesExtractor.java rename to instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java index d5701dda10e7..f4fe5e4a61cf 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesExtractor.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java @@ -5,14 +5,14 @@ package io.opentelemetry.javaagent.instrumentation.undertow; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.undertow.server.HttpServerExchange; import java.net.InetSocketAddress; import javax.annotation.Nullable; -public class UndertowNetAttributesExtractor - extends InetSocketAddressNetServerAttributesExtractor { +public class UndertowNetAttributesGetter + extends InetSocketAddressNetServerAttributesGetter { @Override @Nullable diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java index 21330162b890..a940eb740a6d 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java @@ -32,7 +32,7 @@ public final class UndertowSingletons { SpanStatusExtractor spanStatusExtractor = HttpSpanStatusExtractor.create(httpAttributesExtractor); NetServerAttributesExtractor netAttributesExtractor = - new UndertowNetAttributesExtractor(); + NetServerAttributesExtractor.create(new UndertowNetAttributesGetter()); INSTRUMENTER = Instrumenter.builder(