From 3abaf5ed92a9cb1a72531e665c6e5e20c0ce7aad Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Wed, 24 Aug 2022 15:06:38 +0200 Subject: [PATCH 1/7] Net attributes getters changes: instrumentation-api-semconv changes --- ...ocketAddressNetClientAttributesGetter.java | 42 ++-- ...ocketAddressNetServerAttributesGetter.java | 62 ++++- .../api/instrumenter/net/NetAttributes.java | 28 +++ .../net/NetClientAttributesExtractor.java | 21 +- .../net/NetClientAttributesGetter.java | 18 +- .../net/NetServerAttributesExtractor.java | 52 ++++- .../net/NetServerAttributesGetter.java | 20 +- ...tAddressNetClientAttributesGetterTest.java | 60 ++--- ...tAddressNetServerAttributesGetterTest.java | 111 ++++++--- .../net/NetClientAttributesExtractorTest.java | 201 +++++++++++----- .../net/NetServerAttributesExtractorTest.java | 220 ++++++++++++++---- 11 files changed, 598 insertions(+), 237 deletions(-) create mode 100644 instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java index 1e4b3f44588e..ad49a6b9f230 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java @@ -21,32 +21,26 @@ public abstract class InetSocketAddressNetClientAttributesGetter { @Nullable - public abstract InetSocketAddress getAddress(REQUEST request, @Nullable RESPONSE response); + public abstract InetSocketAddress getPeerAddress(REQUEST request, @Nullable RESPONSE response); - @Override @Nullable - public final String peerName(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getAddress(request, response); - if (address == null) { - return null; - } - return address.getHostString(); - } - @Override - @Nullable - public final Integer peerPort(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getAddress(request, response); + public String sockFamily(REQUEST request, @Nullable RESPONSE response) { + InetSocketAddress address = getPeerAddress(request, response); if (address == null) { return null; } - return address.getPort(); + InetAddress remoteAddress = address.getAddress(); + if (remoteAddress instanceof Inet6Address) { + return "inet6"; + } + return null; } @Override @Nullable public final String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getAddress(request, response); + InetSocketAddress address = getPeerAddress(request, response); if (address == null) { return null; } @@ -57,27 +51,23 @@ public final String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { return null; } - @Nullable @Override - public Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getAddress(request, response); + @Nullable + public String sockPeerName(REQUEST request, @Nullable RESPONSE response) { + InetSocketAddress address = getPeerAddress(request, response); if (address == null) { return null; } - return address.getPort(); + return address.getHostString(); } @Nullable @Override - public String sockFamily(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getAddress(request, response); + public Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response) { + InetSocketAddress address = getPeerAddress(request, response); if (address == null) { return null; } - InetAddress remoteAddress = address.getAddress(); - if (remoteAddress instanceof Inet6Address) { - return "inet6"; - } - return null; + return address.getPort(); } } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java index bc42a0b21540..0420a06e41f7 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java @@ -5,6 +5,7 @@ package io.opentelemetry.instrumentation.api.instrumenter.net; +import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; import javax.annotation.Nullable; @@ -20,22 +21,65 @@ public abstract class InetSocketAddressNetServerAttributesGetter implements NetServerAttributesGetter { @Nullable - public abstract InetSocketAddress getAddress(REQUEST request); + public abstract InetSocketAddress getPeerAddress(REQUEST request); + + // optional + @Nullable + public abstract InetSocketAddress getHostAddress(REQUEST request); + + @Nullable + @Override + public String sockFamily(REQUEST request) { + InetSocketAddress address = getPeerAddress(request); + if (address == null) { + address = getHostAddress(request); + } + if (address == null) { + return null; + } + InetAddress inetAddress = address.getAddress(); + if (inetAddress instanceof Inet6Address) { + return "inet6"; + } + return null; + } + + @Override + @Nullable + public final String sockPeerAddr(REQUEST request) { + return getAddress(getPeerAddress(request)); + } @Override @Nullable public final Integer sockPeerPort(REQUEST request) { - InetSocketAddress address = getAddress(request); + return getPort(getPeerAddress(request)); + } + + @Nullable + @Override + public String sockHostAddr(REQUEST request) { + return getAddress(getHostAddress(request)); + } + + @Nullable + @Override + public String sockHostName(REQUEST request) { + InetSocketAddress address = getHostAddress(request); if (address == null) { return null; } - return address.getPort(); + return address.getHostString(); } + @Nullable @Override + public Integer sockHostPort(REQUEST request) { + return getPort(getHostAddress(request)); + } + @Nullable - public final String sockPeerAddr(REQUEST request) { - InetSocketAddress address = getAddress(request); + private static String getAddress(InetSocketAddress address) { if (address == null) { return null; } @@ -45,4 +89,12 @@ public final String sockPeerAddr(REQUEST request) { } return null; } + + @Nullable + private static Integer getPort(InetSocketAddress address) { + if (address == null) { + return null; + } + return address.getPort(); + } } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java new file mode 100644 index 000000000000..6f8c449cacff --- /dev/null +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java @@ -0,0 +1,28 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.instrumenter.net; + +import io.opentelemetry.api.common.AttributeKey; + +// this class will be removed once SemanticAttributes contains all new net.* attributes +final class NetAttributes { + + static final AttributeKey NET_SOCK_FAMILY = AttributeKey.stringKey("net.sock.family"); + static final AttributeKey NET_SOCK_PEER_ADDR = + AttributeKey.stringKey("net.sock.peer.addr"); + static final AttributeKey NET_SOCK_PEER_NAME = + AttributeKey.stringKey("net.sock.peer.name"); + static final AttributeKey NET_SOCK_PEER_PORT = AttributeKey.longKey("net.sock.peer.port"); + static final AttributeKey NET_SOCK_HOST_ADDR = + AttributeKey.stringKey("net.sock.host.addr"); + static final AttributeKey NET_SOCK_HOST_NAME = + AttributeKey.stringKey("net.sock.host.name"); + static final AttributeKey NET_SOCK_HOST_PORT = AttributeKey.longKey("net.sock.host.port"); + + static final String SOCK_FAMILY_INET = "inet"; + + private NetAttributes() {} +} diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractor.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractor.java index 520ae5c02205..9d4f6a0dc797 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractor.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractor.java @@ -7,7 +7,6 @@ import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; @@ -26,15 +25,6 @@ public final class NetClientAttributesExtractor implements AttributesExtractor { - private static final AttributeKey NET_SOCK_PEER_ADDR = - AttributeKey.stringKey("net.sock.peer.addr"); - public static final AttributeKey NET_SOCK_PEER_PORT = - AttributeKey.longKey("net.sock.peer.port"); - public static final AttributeKey NET_SOCK_FAMILY = - AttributeKey.stringKey("net.sock.family"); - public static final AttributeKey NET_SOCK_PEER_NAME = - AttributeKey.stringKey("net.sock.peer.name"); - private final NetClientAttributesGetter getter; public static NetClientAttributesExtractor create( @@ -70,18 +60,21 @@ public void onEnd( String sockPeerAddr = getter.sockPeerAddr(request, response); if (sockPeerAddr != null && !sockPeerAddr.equals(peerName)) { - internalSet(attributes, NET_SOCK_PEER_ADDR, sockPeerAddr); + internalSet(attributes, NetAttributes.NET_SOCK_PEER_ADDR, sockPeerAddr); Integer sockPeerPort = getter.sockPeerPort(request, response); if (sockPeerPort != null && sockPeerPort > 0 && !sockPeerPort.equals(peerPort)) { - internalSet(attributes, NET_SOCK_PEER_PORT, (long) sockPeerPort); + internalSet(attributes, NetAttributes.NET_SOCK_PEER_PORT, (long) sockPeerPort); } - internalSet(attributes, NET_SOCK_FAMILY, getter.sockFamily(request, response)); + String sockFamily = getter.sockFamily(request, response); + if (sockFamily != null && !NetAttributes.SOCK_FAMILY_INET.equals(sockFamily)) { + internalSet(attributes, NetAttributes.NET_SOCK_FAMILY, sockFamily); + } String sockPeerName = getter.sockPeerName(request, response); if (sockPeerName != null && !sockPeerName.equals(peerName)) { - internalSet(attributes, NET_SOCK_PEER_NAME, sockPeerName); + internalSet(attributes, NetAttributes.NET_SOCK_PEER_NAME, sockPeerName); } } } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java index 9adc30a80f0d..ab05315f2deb 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java @@ -20,6 +20,8 @@ public interface NetClientAttributesGetter { @Nullable String transport(REQUEST request, @Nullable RESPONSE response); + // TODO: peerName and peerPort should be extracted onStart + @Nullable String peerName(REQUEST request, @Nullable RESPONSE response); @@ -27,22 +29,14 @@ public interface NetClientAttributesGetter { Integer peerPort(REQUEST request, @Nullable RESPONSE response); @Nullable - default String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { - return null; - } + String sockFamily(REQUEST request, @Nullable RESPONSE response); @Nullable - default Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response) { - return null; - } + String sockPeerAddr(REQUEST request, @Nullable RESPONSE response); @Nullable - default String sockFamily(REQUEST request, @Nullable RESPONSE response) { - return null; - } + String sockPeerName(REQUEST request, @Nullable RESPONSE response); @Nullable - default String sockPeerName(REQUEST request, @Nullable RESPONSE response) { - return null; - } + Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response); } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java index 6d6f2312d2f0..c0c06d48a5eb 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java @@ -7,7 +7,6 @@ import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; @@ -23,10 +22,6 @@ public final class NetServerAttributesExtractor implements AttributesExtractor { - public static final AttributeKey NET_SOCK_PEER_ADDR = - AttributeKey.stringKey("net.sock.peer.addr"); - public static final AttributeKey NET_SOCK_PEER_PORT = - AttributeKey.longKey("net.sock.peer.port"); private final NetServerAttributesGetter getter; public static NetServerAttributesExtractor create( @@ -42,13 +37,52 @@ private NetServerAttributesExtractor(NetServerAttributesGetter getter) public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST request) { internalSet(attributes, SemanticAttributes.NET_TRANSPORT, getter.transport(request)); + boolean setSockFamily = false; + String sockPeerAddr = getter.sockPeerAddr(request); + if (sockPeerAddr != null) { + setSockFamily = true; + + internalSet(attributes, NetAttributes.NET_SOCK_PEER_ADDR, sockPeerAddr); + + Integer sockPeerPort = getter.sockPeerPort(request); + if (sockPeerPort != null && sockPeerPort > 0) { + internalSet(attributes, NetAttributes.NET_SOCK_PEER_PORT, (long) sockPeerPort); + } + } + + String hostName = getter.hostName(request); + Integer hostPort = getter.hostPort(request); + if (hostName != null) { + internalSet(attributes, SemanticAttributes.NET_HOST_NAME, hostName); - internalSet(attributes, NET_SOCK_PEER_ADDR, sockPeerAddr); + if (hostPort != null && hostPort > 0) { + internalSet(attributes, SemanticAttributes.NET_HOST_PORT, (long) hostPort); + } + } + + String sockHostAddr = getter.sockHostAddr(request); + if (sockHostAddr != null && !sockHostAddr.equals(hostName)) { + setSockFamily = true; + + internalSet(attributes, NetAttributes.NET_SOCK_HOST_ADDR, sockHostAddr); + + Integer sockHostPort = getter.sockHostPort(request); + if (sockHostPort != null && sockHostPort > 0 && !sockHostPort.equals(hostPort)) { + internalSet(attributes, NetAttributes.NET_SOCK_HOST_PORT, (long) sockHostPort); + } + + String sockHostName = getter.sockHostName(request); + if (sockHostName != null && !sockHostName.equals(hostName)) { + internalSet(attributes, NetAttributes.NET_SOCK_HOST_NAME, sockHostName); + } + } - Integer sockPeerPort = getter.sockPeerPort(request); - if (sockPeerPort != null && sockPeerPort > 0) { - internalSet(attributes, NET_SOCK_PEER_PORT, (long) sockPeerPort); + if (setSockFamily) { + String sockFamily = getter.sockFamily(request); + if (sockFamily != null && !NetAttributes.SOCK_FAMILY_INET.equals(sockFamily)) { + internalSet(attributes, NetAttributes.NET_SOCK_FAMILY, sockFamily); + } } } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java index 24ddd10feda6..eb41083702cc 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java @@ -21,8 +21,26 @@ public interface NetServerAttributesGetter { String transport(REQUEST request); @Nullable - Integer sockPeerPort(REQUEST request); + String hostName(REQUEST request); + + @Nullable + Integer hostPort(REQUEST request); + + @Nullable + String sockFamily(REQUEST request); @Nullable String sockPeerAddr(REQUEST request); + + @Nullable + Integer sockPeerPort(REQUEST request); + + @Nullable + String sockHostAddr(REQUEST request); + + @Nullable + String sockHostName(REQUEST request); + + @Nullable + Integer sockHostPort(REQUEST request); } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java index 6cca61591a65..13ad7bf79c50 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java @@ -8,7 +8,6 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; @@ -26,14 +25,26 @@ class InetSocketAddressNetClientAttributesGetterTest { getter = new InetSocketAddressNetClientAttributesGetter() { @Override - public InetSocketAddress getAddress( - InetSocketAddress request, InetSocketAddress response) { - return response; + public String transport(InetSocketAddress request, InetSocketAddress response) { + return SemanticAttributes.NetTransportValues.IP_TCP; } @Override - public String transport(InetSocketAddress request, InetSocketAddress response) { - return SemanticAttributes.NetTransportValues.IP_TCP; + public String peerName(InetSocketAddress request, InetSocketAddress response) { + // net.peer.name and net.peer.port are tested in NetClientAttributesExtractorTest + return null; + } + + @Override + public Integer peerPort(InetSocketAddress request, InetSocketAddress response) { + // net.peer.name and net.peer.port are tested in NetClientAttributesExtractorTest + return null; + } + + @Override + public InetSocketAddress getPeerAddress( + InetSocketAddress request, InetSocketAddress response) { + return response; } }; private final NetClientAttributesExtractor extractor = @@ -52,35 +63,31 @@ void noInetSocketAddress() { @Test void fullAddress() { // given - InetSocketAddress request = new InetSocketAddress("github.com", 123); - assertThat(request.getAddress().getHostAddress()).isNotNull(); - - InetSocketAddress response = new InetSocketAddress("api.github.com", 456); - assertThat(request.getAddress().getHostAddress()).isNotNull(); + InetSocketAddress address = new InetSocketAddress("api.github.com", 456); + assertThat(address.getAddress().getHostAddress()).isNotNull(); - boolean ipv4 = response.getAddress() instanceof Inet4Address; + boolean ipv4 = address.getAddress() instanceof Inet4Address; Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, address); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, address, address, null); // then assertThat(startAttributes.build()).isEmpty(); AttributesBuilder builder = Attributes.builder(); builder.put(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP); - builder.put( - AttributeKey.stringKey("net.sock.peer.addr"), response.getAddress().getHostAddress()); + builder.put(NetAttributes.NET_SOCK_PEER_ADDR, address.getAddress().getHostAddress()); if (!ipv4) { - builder.put(AttributeKey.stringKey("net.sock.family"), "inet6"); + builder.put(NetAttributes.NET_SOCK_FAMILY, "inet6"); } - builder.put(SemanticAttributes.NET_PEER_NAME, "api.github.com"); - builder.put(SemanticAttributes.NET_PEER_PORT, 456L); + builder.put(NetAttributes.NET_SOCK_PEER_NAME, "api.github.com"); + builder.put(NetAttributes.NET_SOCK_PEER_PORT, 456L); assertThat(endAttributes.build()).isEqualTo(builder.build()); } @@ -88,28 +95,23 @@ void fullAddress() { @Test void unresolved() { // given - InetSocketAddress request = InetSocketAddress.createUnresolved("github.com", 123); - assertThat(request.getAddress()).isNull(); - - InetSocketAddress response = InetSocketAddress.createUnresolved("api.github.com", 456); - assertThat(request.getAddress()).isNull(); + InetSocketAddress address = InetSocketAddress.createUnresolved("api.github.com", 456); + assertThat(address.getAddress()).isNull(); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, address); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, address, address, null); // then assertThat(startAttributes.build()).isEmpty(); assertThat(endAttributes.build()) .containsOnly( - entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - entry(SemanticAttributes.NET_PEER_NAME, "api.github.com"), - entry(SemanticAttributes.NET_PEER_PORT, 456L)); + entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP)); } } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java index 54c35bcae4b0..30681f852d3c 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java @@ -8,11 +8,11 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.Inet4Address; import java.net.InetSocketAddress; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -21,24 +21,43 @@ @ExtendWith(MockitoExtension.class) class InetSocketAddressNetServerAttributesGetterTest { - private final NetServerAttributesExtractor extractor = - NetServerAttributesExtractor.create( - new InetSocketAddressNetServerAttributesGetter() { - @Override - public InetSocketAddress getAddress(InetSocketAddress request) { - return request; - } - - @Override - public String transport(InetSocketAddress request) { - return SemanticAttributes.NetTransportValues.IP_TCP; - } - }); + final InetSocketAddressNetServerAttributesGetter getter = + new InetSocketAddressNetServerAttributesGetter() { + + @Override + public String transport(Addresses request) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + + @Override + public String hostName(Addresses request) { + // net.host.name and net.host.port are tested in NetClientAttributesExtractorTest + return null; + } + + @Override + public Integer hostPort(Addresses request) { + // net.host.name and net.host.port are tested in NetClientAttributesExtractorTest + return null; + } + + @Override + public InetSocketAddress getPeerAddress(Addresses request) { + return request.peer; + } + + @Override + public InetSocketAddress getHostAddress(Addresses request) { + return request.host; + } + }; + private final NetServerAttributesExtractor extractor = + NetServerAttributesExtractor.create(getter); @Test void noInetSocketAddress() { AttributesBuilder attributes = Attributes.builder(); - extractor.onStart(attributes, Context.root(), null); + extractor.onStart(attributes, Context.root(), new Addresses(null, null)); assertThat(attributes.build()) .containsOnly( entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP)); @@ -47,11 +66,11 @@ void noInetSocketAddress() { @Test void fullAddress() { // given - InetSocketAddress request = new InetSocketAddress("github.com", 123); - assertThat(request.getAddress().getHostAddress()).isNotNull(); - - InetSocketAddress response = new InetSocketAddress("api.github.com", 456); - assertThat(request.getAddress().getHostAddress()).isNotNull(); + Addresses request = + new Addresses( + new InetSocketAddress("github.com", 123), new InetSocketAddress("api.github.com", 456)); + assertThat(request.peer.getAddress().getHostAddress()).isNotNull(); + assertThat(request.host.getAddress().getHostAddress()).isNotNull(); Context context = Context.root(); @@ -60,16 +79,21 @@ void fullAddress() { extractor.onStart(startAttributes, context, request); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, request, request, null); // then - assertThat(startAttributes.build()) - .containsOnly( - entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - entry( - AttributeKey.stringKey("net.sock.peer.addr"), - request.getAddress().getHostAddress()), - entry(AttributeKey.longKey("net.sock.peer.port"), 123L)); + AttributesBuilder builder = Attributes.builder(); + builder.put(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP); + if (!request.isIpv4()) { + builder.put(NetAttributes.NET_SOCK_FAMILY, "inet6"); + } + builder.put(NetAttributes.NET_SOCK_PEER_ADDR, request.peer.getAddress().getHostAddress()); + builder.put(NetAttributes.NET_SOCK_PEER_PORT, 123L); + builder.put(NetAttributes.NET_SOCK_HOST_ADDR, request.host.getAddress().getHostAddress()); + builder.put(NetAttributes.NET_SOCK_HOST_NAME, "api.github.com"); + builder.put(NetAttributes.NET_SOCK_HOST_PORT, 456L); + + assertThat(startAttributes.build()).isEqualTo(builder.build()); assertThat(endAttributes.build()).isEmpty(); } @@ -77,11 +101,12 @@ void fullAddress() { @Test void unresolved() { // given - InetSocketAddress request = InetSocketAddress.createUnresolved("github.com", 123); - assertThat(request.getAddress()).isNull(); - - InetSocketAddress response = InetSocketAddress.createUnresolved("api.github.com", 456); - assertThat(request.getAddress()).isNull(); + Addresses request = + new Addresses( + InetSocketAddress.createUnresolved("github.com", 123), + InetSocketAddress.createUnresolved("api.github.com", 456)); + assertThat(request.peer.getAddress()).isNull(); + assertThat(request.host.getAddress()).isNull(); Context context = Context.root(); @@ -90,14 +115,28 @@ void unresolved() { extractor.onStart(startAttributes, context, request); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, request, request, null); // then assertThat(startAttributes.build()) .containsOnly( - entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - entry(AttributeKey.longKey("net.sock.peer.port"), 123L)); + entry(SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP)); assertThat(endAttributes.build()).isEmpty(); } + + static final class Addresses { + + private final InetSocketAddress peer; + private final InetSocketAddress host; + + Addresses(InetSocketAddress peer, InetSocketAddress host) { + this.peer = peer; + this.host = host; + } + + boolean isIpv4() { + return peer.getAddress() instanceof Inet4Address; + } + } } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractorTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractorTest.java index 4d7794edb83b..178ad068a33c 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractorTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesExtractorTest.java @@ -6,18 +6,20 @@ package io.opentelemetry.instrumentation.api.instrumenter.net; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; +import static java.util.Collections.emptyMap; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; +import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.HashMap; import java.util.Map; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -// TODO (trask) add more test coverage for #6268 class NetClientAttributesExtractorTest { static class TestNetClientAttributesGetter @@ -30,126 +32,209 @@ public String transport(Map request, Map respons @Override public String peerName(Map request, Map response) { - if (response != null) { - return response.get("peerName"); - } - return null; + return response.get("peerName"); } @Override public Integer peerPort(Map request, Map response) { - if (response != null) { - return Integer.valueOf(response.get("peerPort")); - } - return null; + String peerPort = response.get("peerPort"); + return peerPort == null ? null : Integer.valueOf(peerPort); + } + + @Override + public String sockFamily(Map request, Map response) { + return response.get("sockFamily"); } @Override public String sockPeerAddr(Map request, Map response) { - if (response != null) { - return response.get("sockPeerAddr"); - } - return null; + return response.get("sockPeerAddr"); + } + + @Override + public String sockPeerName(Map request, Map response) { + return response.get("sockPeerName"); + } + + @Override + public Integer sockPeerPort(Map request, Map response) { + String sockPeerPort = response.get("sockPeerPort"); + return sockPeerPort == null ? null : Integer.valueOf(sockPeerPort); } } + private final AttributesExtractor, Map> extractor = + NetClientAttributesExtractor.create(new TestNetClientAttributesGetter()); + @Test void normal() { // given - Map request = new HashMap<>(); - request.put("transport", "TCP"); - request.put("peerName", "github.com"); - request.put("peerPort", "123"); - request.put("sockPeerAddr", "1.2.3.4"); - - Map response = new HashMap<>(); - response.put("peerName", "opentelemetry.io"); - response.put("peerPort", "42"); - response.put("sockPeerAddr", "4.3.2.1"); - - TestNetClientAttributesGetter getter = new TestNetClientAttributesGetter(); - NetClientAttributesExtractor, Map> extractor = - NetClientAttributesExtractor.create(getter); + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("peerName", "opentelemetry.io"); + map.put("peerPort", "42"); + map.put("sockFamily", "inet6"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerName", "proxy.opentelemetry.io"); + map.put("sockPeerPort", "123"); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then assertThat(startAttributes.build()).isEmpty(); assertThat(endAttributes.build()) .containsOnly( + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), entry(SemanticAttributes.NET_PEER_NAME, "opentelemetry.io"), entry(SemanticAttributes.NET_PEER_PORT, 42L), - entry(AttributeKey.stringKey("net.sock.peer.addr"), "4.3.2.1")); + entry(NetAttributes.NET_SOCK_FAMILY, "inet6"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::"), + entry(NetAttributes.NET_SOCK_PEER_NAME, "proxy.opentelemetry.io"), + entry(NetAttributes.NET_SOCK_PEER_PORT, 123L)); } @Test - public void doesNotSetDuplicateAttributes() { + void empty() { // given - Map request = new HashMap<>(); - request.put("transport", "TCP"); - request.put("peerName", "1.2.3.4"); - request.put("sockPeerAddr", "1.2.3.4"); - request.put("peerPort", "123"); + Context context = Context.root(); + + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, emptyMap()); - Map response = new HashMap<>(); - response.put("peerName", "4.3.2.1"); - response.put("peerPort", "42"); - response.put("sockPeerAddr", "4.3.2.1"); + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, emptyMap(), emptyMap(), null); + + // then + assertThat(startAttributes.build()).isEmpty(); + assertThat(endAttributes.build()).isEmpty(); + } - TestNetClientAttributesGetter getter = new TestNetClientAttributesGetter(); - NetClientAttributesExtractor, Map> extractor = - NetClientAttributesExtractor.create(getter); + @Test + @DisplayName("does not set any net.sock.* attributes when net.peer.name = net.sock.peer.addr") + void doesNotSetDuplicates1() { + // given + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("peerName", "1:2:3:4::"); + map.put("peerPort", "42"); + map.put("sockFamily", "inet6"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerName", "proxy.opentelemetry.io"); + map.put("sockPeerPort", "123"); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then assertThat(startAttributes.build()).isEmpty(); assertThat(endAttributes.build()) .containsOnly( + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), + entry(SemanticAttributes.NET_PEER_NAME, "1:2:3:4::"), + entry(SemanticAttributes.NET_PEER_PORT, 42L)); + } + + @Test + @DisplayName( + "does not set net.sock.* attributes when they duplicate related net.peer.* attributes") + void doesNotSetDuplicates2() { + // given + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("peerName", "opentelemetry.io"); + map.put("peerPort", "42"); + map.put("sockFamily", "inet6"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerName", "opentelemetry.io"); + map.put("sockPeerPort", "42"); + + Context context = Context.root(); + + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, map); + + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, map, map, null); + + // then + assertThat(startAttributes.build()).isEmpty(); + + assertThat(endAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), + entry(SemanticAttributes.NET_PEER_NAME, "opentelemetry.io"), entry(SemanticAttributes.NET_PEER_PORT, 42L), - entry(SemanticAttributes.NET_PEER_NAME, "4.3.2.1")); + entry(NetAttributes.NET_SOCK_FAMILY, "inet6"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::")); } @Test - public void doesNotSetNegativePort() { + void doesNotSetNegativePortValues() { // given - Map request = new HashMap<>(); - request.put("peerPort", "-42"); + Map map = new HashMap<>(); + map.put("peerName", "opentelemetry.io"); + map.put("peerPort", "-12"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerPort", "-42"); + + Context context = Context.root(); - Map response = new HashMap<>(); - response.put("peerPort", "-1"); + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, map); - TestNetClientAttributesGetter getter = new TestNetClientAttributesGetter(); - NetClientAttributesExtractor, Map> extractor = - NetClientAttributesExtractor.create(getter); + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, map, map, null); + + // then + assertThat(startAttributes.build()).isEmpty(); + + assertThat(endAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_PEER_NAME, "opentelemetry.io"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::")); + } + + @Test + void doesNotSetSockFamilyInet() { + // given + Map map = new HashMap<>(); + map.put("peerName", "opentelemetry.io"); + map.put("sockPeerAddr", "1.2.3.4"); + map.put("sockFamily", NetAttributes.SOCK_FAMILY_INET); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then assertThat(startAttributes.build()).isEmpty(); - assertThat(endAttributes.build()).isEmpty(); + + assertThat(endAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_PEER_NAME, "opentelemetry.io"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1.2.3.4")); } } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java index 15a7a708e9d9..519ccbbda75d 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java @@ -6,15 +6,18 @@ package io.opentelemetry.instrumentation.api.instrumenter.net; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; +import static java.util.Collections.emptyMap; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nullable; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; class NetServerAttributesExtractorTest { @@ -27,113 +30,236 @@ public String transport(Map request) { return request.get("transport"); } + @Nullable @Override - public Integer sockPeerPort(Map request) { - return Integer.valueOf(request.get("sockPeerPort")); + public String hostName(Map request) { + return request.get("hostName"); + } + + @Nullable + @Override + public Integer hostPort(Map request) { + String hostPort = request.get("hostPort"); + return hostPort == null ? null : Integer.valueOf(hostPort); + } + + @Nullable + @Override + public String sockFamily(Map request) { + return request.get("sockFamily"); } @Override public String sockPeerAddr(Map request) { return request.get("sockPeerAddr"); } + + @Override + public Integer sockPeerPort(Map request) { + String sockPeerPort = request.get("sockPeerPort"); + return sockPeerPort == null ? null : Integer.valueOf(sockPeerPort); + } + + @Nullable + @Override + public String sockHostAddr(Map request) { + return request.get("sockHostAddr"); + } + + @Nullable + @Override + public String sockHostName(Map request) { + return request.get("sockHostName"); + } + + @Nullable + @Override + public Integer sockHostPort(Map request) { + String sockHostPort = request.get("sockHostPort"); + return sockHostPort == null ? null : Integer.valueOf(sockHostPort); + } } + NetServerAttributesExtractor, Map> extractor = + NetServerAttributesExtractor.create(new TestNetServerAttributesGetter()); + @Test void normal() { // given - Map request = new HashMap<>(); - request.put("transport", "TCP"); - request.put("sockPeerPort", "123"); - request.put("sockPeerAddr", "1.2.3.4"); - - Map response = new HashMap<>(); - response.put("sockPeerPort", "42"); - response.put("sockPeerAddr", "4.3.2.1"); - - NetServerAttributesExtractor, Map> extractor = - createTestExtractor(); + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("hostName", "opentelemetry.io"); + map.put("hostPort", "80"); + map.put("sockFamily", "inet6"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerPort", "42"); + map.put("sockHostAddr", "4:3:2:1::"); + map.put("sockHostName", "localhost"); + map.put("sockHostPort", "8080"); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then assertThat(startAttributes.build()) .containsOnly( - entry(SemanticAttributes.NET_TRANSPORT, "TCP"), - entry(AttributeKey.longKey("net.sock.peer.port"), 123L), - entry(AttributeKey.stringKey("net.sock.peer.addr"), "1.2.3.4")); + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), + entry(SemanticAttributes.NET_HOST_NAME, "opentelemetry.io"), + entry(SemanticAttributes.NET_HOST_PORT, 80L), + entry(NetAttributes.NET_SOCK_FAMILY, "inet6"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::"), + entry(NetAttributes.NET_SOCK_PEER_PORT, 42L), + entry(NetAttributes.NET_SOCK_HOST_ADDR, "4:3:2:1::"), + entry(NetAttributes.NET_SOCK_HOST_NAME, "localhost"), + entry(NetAttributes.NET_SOCK_HOST_PORT, 8080L)); assertThat(endAttributes.build()).isEmpty(); } @Test - public void doesNotSetDuplicateAttributes() { + void empty() { // given - Map request = new HashMap<>(); - request.put("transport", "TCP"); - request.put("sockPeerAddr", "1.2.3.4"); - request.put("sockPeerPort", "123"); + Context context = Context.root(); - Map response = new HashMap<>(); - response.put("sockPeerPort", "42"); - response.put("sockPeerAddr", "4.3.2.1"); + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, emptyMap()); - NetServerAttributesExtractor, Map> extractor = - createTestExtractor(); + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, emptyMap(), emptyMap(), null); + + // then + assertThat(startAttributes.build()).isEmpty(); + assertThat(endAttributes.build()).isEmpty(); + } + + @Test + @DisplayName( + "does not set any net.sock.host.* attributes when net.host.name = net.sock.host.addr") + void doesNotSetDuplicates1() { + // given + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("hostName", "4:3:2:1::"); + map.put("hostPort", "80"); + map.put("sockFamily", "inet6"); + map.put("sockHostAddr", "4:3:2:1::"); + map.put("sockHostName", "localhost"); + map.put("sockHostPort", "8080"); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then assertThat(startAttributes.build()) .containsOnly( - entry(SemanticAttributes.NET_TRANSPORT, "TCP"), - entry(AttributeKey.longKey("net.sock.peer.port"), 123L), - entry(AttributeKey.stringKey("net.sock.peer.addr"), "1.2.3.4")); + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), + entry(SemanticAttributes.NET_HOST_NAME, "4:3:2:1::"), + entry(SemanticAttributes.NET_HOST_PORT, 80L)); assertThat(endAttributes.build()).isEmpty(); } @Test - public void doesNotSetNegativePort() { + @DisplayName( + "does not set net.sock.host.* attributes when they duplicate related net.host.* attributes") + void doesNotSetDuplicates2() { // given - Map request = new HashMap<>(); - request.put("sockPeerPort", "-42"); + Map map = new HashMap<>(); + map.put("transport", IP_TCP); + map.put("hostName", "opentelemetry.io"); + map.put("hostPort", "80"); + map.put("sockFamily", "inet6"); + map.put("sockHostAddr", "4:3:2:1::"); + map.put("sockHostName", "opentelemetry.io"); + map.put("sockHostPort", "80"); - Map response = new HashMap<>(); - response.put("sockPeerPort", "-1"); + Context context = Context.root(); - NetServerAttributesExtractor, Map> extractor = - createTestExtractor(); + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, map); + + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, map, map, null); + + // then + assertThat(startAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_TRANSPORT, IP_TCP), + entry(SemanticAttributes.NET_HOST_NAME, "opentelemetry.io"), + entry(SemanticAttributes.NET_HOST_PORT, 80L), + entry(NetAttributes.NET_SOCK_FAMILY, "inet6"), + entry(NetAttributes.NET_SOCK_HOST_ADDR, "4:3:2:1::")); + + assertThat(endAttributes.build()).isEmpty(); + } + + @Test + void doesNotSetNegativePort() { + // given + Map map = new HashMap<>(); + map.put("hostName", "opentelemetry.io"); + map.put("hostPort", "-80"); + map.put("sockPeerAddr", "1:2:3:4::"); + map.put("sockPeerPort", "-42"); + map.put("sockHostAddr", "4:3:2:1::"); + map.put("sockHostPort", "-8080"); Context context = Context.root(); // when AttributesBuilder startAttributes = Attributes.builder(); - extractor.onStart(startAttributes, context, request); + extractor.onStart(startAttributes, context, map); AttributesBuilder endAttributes = Attributes.builder(); - extractor.onEnd(endAttributes, context, request, response, null); + extractor.onEnd(endAttributes, context, map, map, null); // then - assertThat(startAttributes.build()).isEmpty(); + assertThat(startAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_HOST_NAME, "opentelemetry.io"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::"), + entry(NetAttributes.NET_SOCK_HOST_ADDR, "4:3:2:1::")); + assertThat(endAttributes.build()).isEmpty(); } - private static NetServerAttributesExtractor, Map> - createTestExtractor() { - return NetServerAttributesExtractor.create(new TestNetServerAttributesGetter()); + @Test + void doesNotSetSockFamilyInet() { + // given + Map map = new HashMap<>(); + map.put("hostName", "opentelemetry.io"); + map.put("sockPeerAddr", "1.2.3.4"); + map.put("sockFamily", NetAttributes.SOCK_FAMILY_INET); + + Context context = Context.root(); + + // when + AttributesBuilder startAttributes = Attributes.builder(); + extractor.onStart(startAttributes, context, map); + + AttributesBuilder endAttributes = Attributes.builder(); + extractor.onEnd(endAttributes, context, map, map, null); + + // then + assertThat(startAttributes.build()) + .containsOnly( + entry(SemanticAttributes.NET_HOST_NAME, "opentelemetry.io"), + entry(NetAttributes.NET_SOCK_PEER_ADDR, "1.2.3.4")); + + assertThat(endAttributes.build()).isEmpty(); } } From e925d1ba3fe62199d8d55481c4cfe2d177107901 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Wed, 24 Aug 2022 18:44:58 +0200 Subject: [PATCH 2/7] Net attributes getters changes: getter implementations --- .../instrumenter/InstrumenterBenchmark.java | 30 +++++++++-- .../client/AkkaHttpNetAttributesGetter.java | 24 +++++++++ .../apachedubbo/v2_7/DubboRequest.java | 9 +++- .../DubboNetClientAttributesGetter.java | 26 +++++---- .../DubboNetServerAttributesGetter.java | 24 +++++++-- ...cheHttpAsyncClientNetAttributesGetter.java | 12 ++++- .../ApacheHttpClientRequest.java | 15 +++++- .../ApacheHttpClientNetAttributesGetter.java | 24 +++++++++ .../ApacheHttpClientNetAttributesGetter.java | 24 +++++++++ .../ApacheHttpClientNetAttributesGetter.java | 12 ++++- .../v4_3/ApacheHttpClientRequest.java | 13 +++++ .../ApacheHttpClientNetAttributesGetter.java | 24 +++++++++ .../ArmeriaNetServerAttributesGetter.java | 24 ++++++++- .../ArmeriaNetClientAttributesGetter.java | 23 +++++++- .../AsyncHttpClientNetAttributesGetter.java | 24 +++++++++ .../AsyncHttpClientNetAttributesGetter.java | 13 ++++- .../v1_11/AwsSdkNetAttributesGetter.java | 24 +++++++++ .../v2_2/AwsSdkNetAttributesGetter.java | 24 +++++++++ .../v3_0/CassandraNetAttributesGetter.java | 14 ++++- .../v4_0/CassandraNetAttributesGetter.java | 14 ++++- .../couchbase/v2_0/CouchbaseRequestInfo.java | 31 ++++------- .../v2_0/CouchbaseNetAttributesGetter.java | 23 ++++++-- .../v2_6/CouchbaseNetworkInstrumentation.java | 17 ++---- ...searchRestNetResponseAttributesGetter.java | 12 +++++ ...icsearch6TransportNetAttributesGetter.java | 14 ++++- ...cTransportNetResponseAttributesGetter.java | 30 ++++++++--- .../GoogleHttpClientNetAttributesGetter.java | 28 ++++++++-- .../grizzly/GrizzlyNetAttributesGetter.java | 43 +++++++++++++-- .../grpc/v1_6/GrpcRequest.java | 41 +++++++++++--- .../grpc/v1_6/TracingClientInterceptor.java | 17 ++---- .../grpc/v1_6/TracingServerInterceptor.java | 3 +- .../GrpcNetClientAttributesGetter.java | 26 ++++++--- .../GrpcNetServerAttributesGetter.java | 27 ++++++++-- .../HttpUrlNetAttributesGetter.java | 24 +++++++++ .../JdkHttpNetAttributesGetter.java | 24 +++++++++ .../v1_1/JaxRsClientNetAttributesGetter.java | 28 ++++++++-- .../internal/JdbcNetAttributesGetter.java | 24 +++++++++ .../jedis/v1_4/JedisNetAttributesGetter.java | 24 +++++++++ .../jedis/v3_0/JedisNetAttributesGetter.java | 23 +++++--- .../jedis/v4_0/JedisNetAttributesGetter.java | 26 ++++++--- .../JettyHttpClientNetAttributesGetter.java | 24 +++++++++ .../v1_0/KtorNetServerAttributesGetter.kt | 28 +++++++++- .../v2_0/KtorNetServerAttributesGetter.kt | 26 ++++++++- .../KubernetesNetAttributesGetter.java | 24 +++++++++ .../LettuceConnectNetAttributesGetter.java | 24 +++++++++ .../LettuceConnectNetAttributesGetter.java | 24 +++++++++ .../v5_1/LettuceNetAttributesGetter.java | 14 ++++- .../internal/channel/HttpDispatcherLink.java | 8 ++- .../http/channel/HttpRequestMessage.java | 4 ++ .../LibertyDispatcherNetAttributesGetter.java | 44 +++++++++++++-- .../liberty/dispatcher/LibertyRequest.java | 16 +++--- .../mongo/v3_1/MongoNetAttributesGetter.java | 50 +++++++++++++---- .../NettyConnectNetAttributesGetter.java | 41 +++++++++----- .../NettyNetClientAttributesGetter.java | 31 ++++++++--- .../NettyNetServerAttributesGetter.java | 25 ++++++++- .../NettyConnectNetAttributesGetter.java | 41 +++++++++----- .../NettyNetClientAttributesGetter.java | 31 ++++++++--- .../client/NettySslNetAttributesGetter.java | 24 ++++++--- .../NettyNetServerAttributesGetter.java | 24 ++++++++- .../v2_2/OkHttp2NetAttributesGetter.java | 24 +++++++++ .../internal/OkHttpNetAttributesGetter.java | 24 +++++++++ .../PlayWsClientNetAttributesGetter.java | 13 ++++- .../RabbitChannelNetAttributesGetter.java | 16 ++++-- .../RabbitReceiveNetAttributesGetter.java | 17 ++++-- .../RatpackHttpNetAttributesGetter.java | 25 +++++++++ .../internal/RatpackNetAttributesGetter.java | 50 ++++++++++++++++- ...ReactorNettyNetClientAttributesGetter.java | 35 +++++++++++- .../redisson/RedissonNetAttributesGetter.java | 18 +++++-- .../v1_0/RestletNetAttributesGetter.java | 54 ++++++++++++++++++- .../internal/RestletNetAttributesGetter.java | 54 ++++++++++++++++++- .../servlet/v2_2/Servlet2Accessor.java | 15 ++++++ .../servlet/v3_0/Servlet3Accessor.java | 15 ++++++ .../servlet/v5_0/Servlet5Accessor.java | 35 ++++++++++-- .../servlet/ServletAccessor.java | 14 ++++- .../servlet/ServletNetAttributesGetter.java | 41 +++++++++++++- .../servlet/javax/JavaxServletAccessor.java | 10 ++++ .../web/SpringWebNetAttributesGetter.java | 29 ++++++++++ .../SpringWebfluxNetAttributesGetter.java | 25 +++++++++ .../v5_3/SpringWebMvcNetAttributesGetter.java | 38 ++++++++++++- .../common/TomcatNetAttributesGetter.java | 44 +++++++++++++-- .../undertow/UndertowNetAttributesGetter.java | 24 +++++++-- .../client/Vertx4NetAttributesGetter.java | 20 ++++++- 82 files changed, 1782 insertions(+), 243 deletions(-) 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 784fa9ad4791..40b091d737c9 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 @@ -99,19 +99,39 @@ public List responseHeader(Void unused, Void unused2, String name) { static class ConstantNetAttributesGetter extends InetSocketAddressNetServerAttributesGetter { - private static final InetSocketAddress ADDRESS = + private static final InetSocketAddress PEER_ADDRESS = InetSocketAddress.createUnresolved("localhost", 8080); + private static final InetSocketAddress HOST_ADDRESS = + InetSocketAddress.createUnresolved("localhost", 80); @Override @Nullable - public InetSocketAddress getAddress(Void unused) { - return ADDRESS; + public String transport(Void unused) { + return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable @Override + public String hostName(Void unused) { + return null; + } + @Nullable - public String transport(Void unused) { - return SemanticAttributes.NetTransportValues.IP_TCP; + @Override + public Integer hostPort(Void unused) { + return null; + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(Void unused) { + return PEER_ADDRESS; + } + + @Nullable + @Override + public InetSocketAddress getHostAddress(Void unused) { + return HOST_ADDRESS; } } } diff --git a/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java b/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java index f786b281ea3d..8469530d7c17 100644 --- a/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java +++ b/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java @@ -27,4 +27,28 @@ public String peerName(HttpRequest httpRequest, @Nullable HttpResponse httpRespo public Integer peerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { return httpRequest.uri().authority().port(); } + + @Nullable + @Override + public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboRequest.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboRequest.java index 8dd0b0dbe72b..0733b744c867 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboRequest.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboRequest.java @@ -19,7 +19,11 @@ static DubboRequest create(RpcInvocation invocation, RpcContext context) { // In dubbo 3 RpcContext delegates to a ThreadLocal context. We copy the url and remote address // here to ensure we can access them from the thread that ends the span. return new AutoValue_DubboRequest( - invocation, context, context.getUrl(), context.getRemoteAddress()); + invocation, + context, + context.getUrl(), + context.getRemoteAddress(), + context.getLocalAddress()); } abstract RpcInvocation invocation(); @@ -30,4 +34,7 @@ static DubboRequest create(RpcInvocation invocation, RpcContext context) { @Nullable public abstract InetSocketAddress remoteAddress(); + + @Nullable + public abstract InetSocketAddress localAddress(); } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java index 7af5c97d1ce6..8100b0fadc0a 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java @@ -9,7 +9,6 @@ import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import java.net.InetSocketAddress; import javax.annotation.Nullable; -import org.apache.dubbo.common.URL; import org.apache.dubbo.rpc.Result; /** @@ -21,19 +20,24 @@ public final class DubboNetClientAttributesGetter @Override @Nullable - public InetSocketAddress getAddress(DubboRequest request, @Nullable Result response) { - InetSocketAddress address = request.remoteAddress(); - // dubbo 3 doesn't set remote address for client calls - if (address == null) { - URL url = request.url(); - address = InetSocketAddress.createUnresolved(url.getHost(), url.getPort()); - } - return address; + public String transport(DubboRequest request, @Nullable Result response) { + return null; + } + + @Nullable + @Override + public String peerName(DubboRequest request, @Nullable Result result) { + return request.url().getHost(); + } + + @Override + public Integer peerPort(DubboRequest request, @Nullable Result result) { + return request.url().getPort(); } @Override @Nullable - public String transport(DubboRequest request, @Nullable Result response) { - return null; + public InetSocketAddress getPeerAddress(DubboRequest request, @Nullable Result response) { + return request.remoteAddress(); } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java index 659587637b70..aa80c525fc69 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java @@ -19,13 +19,31 @@ public final class DubboNetServerAttributesGetter @Override @Nullable - public InetSocketAddress getAddress(DubboRequest request) { - return request.remoteAddress(); + public String transport(DubboRequest request) { + return null; } + @Nullable @Override + public String hostName(DubboRequest request) { + return null; + } + @Nullable - public String transport(DubboRequest request) { + @Override + public Integer hostPort(DubboRequest request) { return null; } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(DubboRequest request) { + return request.remoteAddress(); + } + + @Nullable + @Override + public InetSocketAddress getHostAddress(DubboRequest request) { + return request.localAddress(); + } } diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java index da311b325e01..8cb247a4f47c 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java @@ -5,13 +5,14 @@ package io.opentelemetry.javaagent.instrumentation.apachehttpasyncclient; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.InetSocketAddress; import javax.annotation.Nullable; import org.apache.http.HttpResponse; final class ApacheHttpAsyncClientNetAttributesGetter - implements NetClientAttributesGetter { + extends InetSocketAddressNetClientAttributesGetter { @Override public String transport(ApacheHttpClientRequest request, @Nullable HttpResponse response) { @@ -28,4 +29,11 @@ public String peerName(ApacheHttpClientRequest request, @Nullable HttpResponse r public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { return request.getPeerPort(); } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( + ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return request.peerAddress(); + } } diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java index dd92339354dc..656e3c926815 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java @@ -8,6 +8,8 @@ import static java.util.logging.Level.FINE; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; @@ -27,8 +29,9 @@ public final class ApacheHttpClientRequest { @Nullable private final URI uri; private final HttpRequest delegate; + @Nullable private final HttpHost target; - public ApacheHttpClientRequest(HttpHost httpHost, HttpRequest httpRequest) { + public ApacheHttpClientRequest(@Nullable HttpHost httpHost, HttpRequest httpRequest) { URI calculatedUri = getUri(httpRequest); if (calculatedUri != null && httpHost != null) { uri = getCalculatedUri(httpHost, calculatedUri); @@ -36,6 +39,7 @@ public ApacheHttpClientRequest(HttpHost httpHost, HttpRequest httpRequest) { uri = calculatedUri; } delegate = httpRequest; + target = httpHost; } public List getHeader(String name) { @@ -143,4 +147,13 @@ private static URI getCalculatedUri(HttpHost httpHost, URI uri) { return null; } } + + @Nullable + public InetSocketAddress peerAddress() { + if (target == null) { + return null; + } + InetAddress inetAddress = target.getAddress(); + return inetAddress == null ? null : new InetSocketAddress(inetAddress, target.getPort()); + } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java index 04489aa8a1cd..02c09d6c555b 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java @@ -32,4 +32,28 @@ public Integer peerPort(HttpMethod request, @Nullable HttpMethod response) { HostConfiguration hostConfiguration = request.getHostConfiguration(); return hostConfiguration != null ? hostConfiguration.getPort() : null; } + + @Nullable + @Override + public String sockFamily(HttpMethod request, @Nullable HttpMethod response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpMethod request, @Nullable HttpMethod response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpMethod request, @Nullable HttpMethod response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpMethod request, @Nullable HttpMethod response) { + return null; + } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java index f310ae87be0a..efd58e50c6bc 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java @@ -28,4 +28,28 @@ public String peerName(ApacheHttpClientRequest request, @Nullable HttpResponse r public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { return request.getPeerPort(); } + + @Nullable + @Override + public String sockFamily(ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return null; + } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java index 27a4176a3384..aa852325ddb6 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java @@ -5,13 +5,14 @@ package io.opentelemetry.instrumentation.apachehttpclient.v4_3; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.InetSocketAddress; import javax.annotation.Nullable; import org.apache.http.HttpResponse; final class ApacheHttpClientNetAttributesGetter - implements NetClientAttributesGetter { + extends InetSocketAddressNetClientAttributesGetter { @Override public String transport(ApacheHttpClientRequest request, @Nullable HttpResponse response) { @@ -29,4 +30,11 @@ public String peerName(ApacheHttpClientRequest request, @Nullable HttpResponse r public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { return request.getPeerPort(); } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( + ApacheHttpClientRequest request, @Nullable HttpResponse response) { + return request.peerAddress(); + } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java index 4264c9035329..37881375e174 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java @@ -8,6 +8,8 @@ import static java.util.logging.Level.FINE; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; @@ -27,6 +29,7 @@ public final class ApacheHttpClientRequest { @Nullable private final URI uri; private final HttpRequest delegate; + @Nullable private final HttpHost target; ApacheHttpClientRequest(@Nullable HttpHost httpHost, HttpRequest httpRequest) { URI calculatedUri = getUri(httpRequest); @@ -36,6 +39,7 @@ public final class ApacheHttpClientRequest { uri = calculatedUri; } delegate = httpRequest; + target = httpHost; } /** Returns the actual {@link HttpRequest} being executed by the client. */ @@ -146,4 +150,13 @@ private static URI getCalculatedUri(HttpHost httpHost, URI uri) { return null; } } + + @Nullable + public InetSocketAddress peerAddress() { + if (target == null) { + return null; + } + InetAddress inetAddress = target.getAddress(); + return inetAddress == null ? null : new InetSocketAddress(inetAddress, target.getPort()); + } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java index 46d30cffd813..65e370c06d67 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java @@ -50,4 +50,28 @@ public Integer peerPort(HttpRequest request, @Nullable HttpResponse response) { return null; } } + + @Nullable + @Override + public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } } diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java index 6b3983a2b869..8e386b2c54d5 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java @@ -20,13 +20,35 @@ public String transport(RequestContext ctx) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String hostName(RequestContext ctx) { + return null; + } + + @Nullable + @Override + public Integer hostPort(RequestContext ctx) { + return null; + } + @Override @Nullable - public InetSocketAddress getAddress(RequestContext ctx) { + public InetSocketAddress getPeerAddress(RequestContext ctx) { SocketAddress address = ctx.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } + + @Nullable + @Override + public InetSocketAddress getHostAddress(RequestContext ctx) { + SocketAddress address = ctx.localAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } + return null; + } } diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java index 1e246b5af1c2..fce749b748d8 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java @@ -5,6 +5,7 @@ package io.opentelemetry.instrumentation.armeria.v1_3.internal; +import com.linecorp.armeria.common.HttpRequest; import com.linecorp.armeria.common.RequestContext; import com.linecorp.armeria.common.logging.RequestLog; import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; @@ -25,13 +26,33 @@ public String transport(RequestContext ctx, @Nullable RequestLog requestLog) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String peerName(RequestContext ctx, @Nullable RequestLog requestLog) { + return request(ctx).uri().getHost(); + } + + @Override + public Integer peerPort(RequestContext ctx, @Nullable RequestLog requestLog) { + return request(ctx).uri().getPort(); + } + @Override @Nullable - public InetSocketAddress getAddress(RequestContext ctx, @Nullable RequestLog requestLog) { + public InetSocketAddress getPeerAddress(RequestContext ctx, @Nullable RequestLog requestLog) { SocketAddress address = ctx.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } + + private static HttpRequest request(RequestContext ctx) { + HttpRequest request = ctx.request(); + if (request == null) { + throw new IllegalStateException( + "Context always has a request in decorators, this exception indicates a programming bug."); + } + return request; + } } diff --git a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java index c5c44f10d8f9..14704ab41c8b 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java +++ b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java @@ -28,4 +28,28 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getUri().getPort(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable Response response) { + return null; + } } diff --git a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java index 3f720975e7bb..01b0056dbf22 100644 --- a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java +++ b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java @@ -19,9 +19,20 @@ public String transport(RequestContext request, @Nullable Response response) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String peerName(RequestContext requestContext, @Nullable Response response) { + return requestContext.getRequest().getUri().getHost(); + } + + @Override + public Integer peerPort(RequestContext requestContext, @Nullable Response response) { + return requestContext.getRequest().getUri().getPort(); + } + @Override @Nullable - public InetSocketAddress getAddress(RequestContext request, @Nullable Response response) { + public InetSocketAddress getPeerAddress(RequestContext request, @Nullable Response response) { if (response != null && response.getRemoteAddress() instanceof InetSocketAddress) { return (InetSocketAddress) response.getRemoteAddress(); } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java index a681e8836fbd..5c5b8d8776fb 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java @@ -28,4 +28,28 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getEndpoint().getPort(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable Response response) { + return null; + } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java index 5d597d01d514..4dff37fe598e 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java @@ -34,4 +34,28 @@ public Integer peerPort(ExecutionAttributes request, @Nullable SdkHttpResponse r request.getAttribute(TracingExecutionInterceptor.SDK_HTTP_REQUEST_ATTRIBUTE); return httpRequest.port(); } + + @Nullable + @Override + public String sockFamily(ExecutionAttributes request, @Nullable SdkHttpResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(ExecutionAttributes request, @Nullable SdkHttpResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(ExecutionAttributes request, @Nullable SdkHttpResponse response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ExecutionAttributes request, @Nullable SdkHttpResponse response) { + return null; + } } diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java index c8b625e588c9..e5b64294a5c9 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java @@ -19,9 +19,21 @@ public String transport(CassandraRequest request, @Nullable ExecutionInfo execut return null; } + @Nullable + @Override + public String peerName(CassandraRequest request, @Nullable ExecutionInfo executionInfo) { + return null; + } + + @Nullable + @Override + public Integer peerPort(CassandraRequest request, @Nullable ExecutionInfo executionInfo) { + return null; + } + @Override @Nullable - public InetSocketAddress getAddress( + public InetSocketAddress getPeerAddress( CassandraRequest request, @Nullable ExecutionInfo executionInfo) { return executionInfo == null ? null : executionInfo.getQueriedHost().getSocketAddress(); } diff --git a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java index cb58a2a6d434..9ae496fc3e2d 100644 --- a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java +++ b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java @@ -21,9 +21,21 @@ public String transport(CassandraRequest request, @Nullable ExecutionInfo execut return null; } + @Nullable + @Override + public String peerName(CassandraRequest request, @Nullable ExecutionInfo executionInfo) { + return null; + } + + @Nullable + @Override + public Integer peerPort(CassandraRequest request, @Nullable ExecutionInfo executionInfo) { + return null; + } + @Override @Nullable - public InetSocketAddress getAddress( + public InetSocketAddress getPeerAddress( CassandraRequest request, @Nullable ExecutionInfo executionInfo) { if (executionInfo == null) { return null; diff --git a/instrumentation/couchbase/couchbase-2-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseRequestInfo.java b/instrumentation/couchbase/couchbase-2-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseRequestInfo.java index f7e01a33ff5c..992a8512f855 100644 --- a/instrumentation/couchbase/couchbase-2-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseRequestInfo.java +++ b/instrumentation/couchbase/couchbase-2-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseRequestInfo.java @@ -11,6 +11,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.ContextKey; import io.opentelemetry.instrumentation.api.db.SqlStatementInfo; +import java.net.SocketAddress; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import javax.annotation.Nullable; @@ -29,10 +30,9 @@ protected Map computeValue(Class type) { } }; - private String peerName; - private Integer peerPort; private String localAddress; private String operationId; + private SocketAddress peerAddress; public static CouchbaseRequestInfo create( @Nullable String bucket, Class declaringClass, String methodName) { @@ -76,24 +76,6 @@ public static CouchbaseRequestInfo get(Context context) { public abstract boolean isMethodCall(); - @Nullable - public String getPeerName() { - return peerName; - } - - public void setPeerName(String peerName) { - this.peerName = peerName; - } - - @Nullable - public Integer getPeerPort() { - return peerPort; - } - - public void setPeerPort(Integer peerPort) { - this.peerPort = peerPort; - } - @Nullable public String getLocalAddress() { return localAddress; @@ -111,4 +93,13 @@ public String getOperationId() { public void setOperationId(String operationId) { this.operationId = operationId; } + + @Nullable + public SocketAddress getPeerAddress() { + return peerAddress; + } + + public void setPeerAddress(SocketAddress peerAddress) { + this.peerAddress = peerAddress; + } } diff --git a/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java b/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java index 582b8eeb2083..f5e222a8c003 100644 --- a/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java +++ b/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java @@ -5,16 +5,18 @@ package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.InetSocketAddress; +import java.net.SocketAddress; import javax.annotation.Nullable; public class CouchbaseNetAttributesGetter - implements NetClientAttributesGetter { + extends InetSocketAddressNetClientAttributesGetter { @Nullable @Override public String transport(CouchbaseRequestInfo couchbaseRequest, @Nullable Void unused) { - return couchbaseRequest.getPeerName() != null + return couchbaseRequest.getPeerAddress() != null ? SemanticAttributes.NetTransportValues.IP_TCP : null; } @@ -22,12 +24,23 @@ public String transport(CouchbaseRequestInfo couchbaseRequest, @Nullable Void un @Nullable @Override public String peerName(CouchbaseRequestInfo couchbaseRequest, @Nullable Void unused) { - return couchbaseRequest.getPeerName(); + return null; } @Nullable @Override public Integer peerPort(CouchbaseRequestInfo couchbaseRequest, @Nullable Void unused) { - return couchbaseRequest.getPeerPort(); + return null; + } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( + CouchbaseRequestInfo couchbaseRequest, @Nullable Void unused) { + SocketAddress peerAddress = couchbaseRequest.getPeerAddress(); + if (peerAddress instanceof InetSocketAddress) { + return (InetSocketAddress) peerAddress; + } + return null; } } diff --git a/instrumentation/couchbase/couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java b/instrumentation/couchbase/couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java index 697403a14bb5..4794b9fcaf2a 100644 --- a/instrumentation/couchbase/couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java +++ b/instrumentation/couchbase/couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java @@ -11,6 +11,7 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments; import com.couchbase.client.core.message.CouchbaseRequest; +import com.couchbase.client.deps.io.netty.channel.ChannelHandlerContext; import io.opentelemetry.instrumentation.api.util.VirtualField; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; @@ -46,26 +47,16 @@ public static class CouchbaseNetworkAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static void addNetworkTagsToSpan( - @Advice.FieldValue("remoteHostname") String remoteHostname, - @Advice.FieldValue("remoteSocket") String remoteSocket, @Advice.FieldValue("localSocket") String localSocket, + @Advice.Argument(0) ChannelHandlerContext channelHandlerContext, @Advice.Argument(1) CouchbaseRequest request) { + VirtualField virtualField = VirtualField.find(CouchbaseRequest.class, CouchbaseRequestInfo.class); CouchbaseRequestInfo requestInfo = virtualField.get(request); if (requestInfo != null) { - if (remoteHostname != null) { - requestInfo.setPeerName(remoteHostname); - } - - if (remoteSocket != null) { - int splitIndex = remoteSocket.lastIndexOf(":"); - if (splitIndex != -1) { - requestInfo.setPeerPort(Integer.parseInt(remoteSocket.substring(splitIndex + 1))); - } - } - + requestInfo.setPeerAddress(channelHandlerContext.channel().remoteAddress()); requestInfo.setLocalAddress(localSocket); } } diff --git a/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java index 7d3db6ec4e62..ad4ff9e40c24 100644 --- a/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java @@ -46,6 +46,18 @@ public String sockPeerAddr(ElasticsearchRestRequest request, @Nullable Response return null; } + @Nullable + @Override + public String sockPeerName(ElasticsearchRestRequest request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ElasticsearchRestRequest request, @Nullable Response response) { + return null; + } + @Nullable @Override public String sockFamily( diff --git a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java index 5374fe27fbab..79e7f194f16e 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java @@ -19,9 +19,21 @@ public String transport(ElasticTransportRequest request, @Nullable ActionRespons return null; } + @Nullable + @Override + public String peerName(ElasticTransportRequest request, @Nullable ActionResponse response) { + return null; + } + + @Nullable + @Override + public Integer peerPort(ElasticTransportRequest request, @Nullable ActionResponse response) { + return null; + } + @Override @Nullable - public InetSocketAddress getAddress( + public InetSocketAddress getPeerAddress( ElasticTransportRequest request, @Nullable ActionResponse response) { if (response != null && response.remoteAddress() != null) { return response.remoteAddress().address(); diff --git a/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java index 8203698d4a7a..1d556d5b9d65 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java @@ -21,18 +21,18 @@ public String transport(ElasticTransportRequest request, @Nullable ActionRespons @Override @Nullable public String peerName(ElasticTransportRequest request, @Nullable ActionResponse response) { - if (response != null && response.remoteAddress() != null) { - return response.remoteAddress().getHost(); - } return null; } @Override @Nullable public Integer peerPort(ElasticTransportRequest request, @Nullable ActionResponse response) { - if (response != null && response.remoteAddress() != null) { - return response.remoteAddress().getPort(); - } + return null; + } + + @Nullable + @Override + public String sockFamily(ElasticTransportRequest request, @Nullable ActionResponse response) { return null; } @@ -45,5 +45,21 @@ public String sockPeerAddr(ElasticTransportRequest request, @Nullable ActionResp return null; } - // TODO (trask) implement sockFamily + @Nullable + @Override + public String sockPeerName(ElasticTransportRequest request, @Nullable ActionResponse response) { + if (response != null && response.remoteAddress() != null) { + return response.remoteAddress().getHost(); + } + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ElasticTransportRequest request, @Nullable ActionResponse response) { + if (response != null && response.remoteAddress() != null) { + return response.remoteAddress().getPort(); + } + return null; + } } diff --git a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java index b9decdb47878..6a5f00d7aba9 100644 --- a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java +++ b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java @@ -27,10 +27,30 @@ public String peerName(HttpRequest request, @Nullable HttpResponse response) { @Override public Integer peerPort(HttpRequest request, @Nullable HttpResponse response) { - int port = request.getUrl().getPort(); - if (port != -1) { - return port; - } + return request.getUrl().getPort(); + } + + @Nullable + @Override + public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { return null; } } diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java index 8fe5900bc087..9a3e81cfaebf 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java @@ -5,18 +5,44 @@ package io.opentelemetry.javaagent.instrumentation.grizzly; +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.NetServerAttributesGetter; import javax.annotation.Nullable; import org.glassfish.grizzly.http.HttpRequestPacket; +import org.glassfish.grizzly.nio.transport.TCPNIOTransport; final class GrizzlyNetAttributesGetter implements NetServerAttributesGetter { - @Nullable @Override public String transport(HttpRequestPacket request) { + return request.getConnection().getTransport() instanceof TCPNIOTransport ? IP_TCP : IP_UDP; + } + + @Nullable + @Override + public String hostName(HttpRequestPacket request) { + return request.getLocalHost(); + } + + @Override + public Integer hostPort(HttpRequestPacket request) { + return request.getServerPort(); + } + + @Nullable + @Override + public String sockFamily(HttpRequestPacket request) { return null; } + @Nullable + @Override + public String sockPeerAddr(HttpRequestPacket request) { + return request.getRemoteAddress(); + } + @Override public Integer sockPeerPort(HttpRequestPacket request) { return request.getRemotePort(); @@ -24,7 +50,18 @@ public Integer sockPeerPort(HttpRequestPacket request) { @Nullable @Override - public String sockPeerAddr(HttpRequestPacket request) { - return request.getRemoteAddress(); + public String sockHostAddr(HttpRequestPacket request) { + return request.getLocalAddress(); + } + + @Nullable + @Override + public String sockHostName(HttpRequestPacket request) { + return null; + } + + @Override + public Integer sockHostPort(HttpRequestPacket request) { + return request.getLocalPort(); } } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java index dd1a49936a73..0e80a1959439 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java @@ -8,6 +8,7 @@ import io.grpc.Metadata; import io.grpc.MethodDescriptor; import java.net.SocketAddress; +import java.net.URI; import javax.annotation.Nullable; public final class GrpcRequest { @@ -16,15 +17,19 @@ public final class GrpcRequest { @Nullable private volatile Metadata metadata; - @Nullable private volatile SocketAddress remoteAddress; + @Nullable private volatile String logicalHost; + private volatile int logicalPort = -1; + @Nullable private volatile SocketAddress peerAddress; GrpcRequest( MethodDescriptor method, @Nullable Metadata metadata, - @Nullable SocketAddress remoteAddress) { + @Nullable SocketAddress peerAddress, + @Nullable String authority) { this.method = method; this.metadata = metadata; - this.remoteAddress = remoteAddress; + this.peerAddress = peerAddress; + setLogicalAddress(authority); } public MethodDescriptor getMethod() { @@ -41,11 +46,33 @@ void setMetadata(Metadata metadata) { } @Nullable - public SocketAddress getRemoteAddress() { - return remoteAddress; + public String getLogicalHost() { + return logicalHost; } - void setRemoteAddress(SocketAddress remoteAddress) { - this.remoteAddress = remoteAddress; + public int getLogicalPort() { + return logicalPort; + } + + void setLogicalAddress(@Nullable String authority) { + if (authority == null) { + return; + } + try { + URI uri = new URI(null, authority, null, null, null); + logicalHost = uri.getHost(); + logicalPort = uri.getPort(); + } catch (Throwable e) { + // do nothing + } + } + + @Nullable + public SocketAddress getPeerAddress() { + return peerAddress; + } + + void setPeerAddress(SocketAddress peerAddress) { + this.peerAddress = peerAddress; } } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java index ead17c9a962d..26885ec8f1e2 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java @@ -11,6 +11,7 @@ import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.ForwardingClientCallListener; +import io.grpc.Grpc; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import io.grpc.Status; @@ -20,9 +21,6 @@ import io.opentelemetry.context.Scope; import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import java.net.InetSocketAddress; -import java.net.SocketAddress; -import java.net.URI; import java.util.concurrent.atomic.AtomicLongFieldUpdater; final class TracingClientInterceptor implements ClientInterceptor { @@ -43,7 +41,7 @@ final class TracingClientInterceptor implements ClientInterceptor { @Override public ClientCall interceptCall( MethodDescriptor method, CallOptions callOptions, Channel next) { - GrpcRequest request = new GrpcRequest(method, null, null); + GrpcRequest request = new GrpcRequest(method, null, null, null); Context parentContext = Context.current(); if (!instrumenter.shouldStart(parentContext, request)) { return next.newCall(method, callOptions); @@ -60,14 +58,9 @@ public ClientCall interceptCall( throw e; } } - SocketAddress address = null; - try { - URI uri = new URI(null, next.authority(), null, null, null); - address = InetSocketAddress.createUnresolved(uri.getHost(), uri.getPort()); - } catch (Throwable e) { - // do nothing - } - request.setRemoteAddress(address); + + request.setLogicalAddress(next.authority()); + request.setPeerAddress(result.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR)); return new TracingClientCall<>(result, parentContext, context, request); } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java index 7aca5ff2779f..bd4175d1f62c 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java @@ -45,7 +45,8 @@ public ServerCall.Listener interceptCall( new GrpcRequest( call.getMethodDescriptor(), headers, - call.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR)); + call.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR), + call.getAuthority()); Context parentContext = Context.current(); if (!instrumenter.shouldStart(parentContext, request)) { return next.startCall(call, headers); diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java index 37b2bb6589b1..ecc5948bf5eb 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java @@ -19,18 +19,30 @@ */ public final class GrpcNetClientAttributesGetter extends InetSocketAddressNetClientAttributesGetter { + + @Override + public String transport(GrpcRequest request, @Nullable Status response) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + + @Nullable + @Override + public String peerName(GrpcRequest grpcRequest, @Nullable Status status) { + return grpcRequest.getLogicalHost(); + } + + @Override + public Integer peerPort(GrpcRequest grpcRequest, @Nullable Status status) { + return grpcRequest.getLogicalPort(); + } + @Override @Nullable - public InetSocketAddress getAddress(GrpcRequest request, @Nullable Status response) { - SocketAddress address = request.getRemoteAddress(); + public InetSocketAddress getPeerAddress(GrpcRequest request, @Nullable Status response) { + SocketAddress address = request.getPeerAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } - - @Override - public String transport(GrpcRequest request, @Nullable Status response) { - return SemanticAttributes.NetTransportValues.IP_TCP; - } } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java index f234e221484a..ce8c00c8bbcb 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java @@ -18,18 +18,37 @@ */ public final class GrpcNetServerAttributesGetter extends InetSocketAddressNetServerAttributesGetter { + @Override + public String transport(GrpcRequest request) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + @Nullable - public InetSocketAddress getAddress(GrpcRequest request) { - SocketAddress address = request.getRemoteAddress(); + @Override + public String hostName(GrpcRequest grpcRequest) { + return grpcRequest.getLogicalHost(); + } + + @Override + public Integer hostPort(GrpcRequest grpcRequest) { + return grpcRequest.getLogicalPort(); + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(GrpcRequest request) { + SocketAddress address = request.getPeerAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } + @Nullable @Override - public String transport(GrpcRequest request) { - return SemanticAttributes.NetTransportValues.IP_TCP; + public InetSocketAddress getHostAddress(GrpcRequest grpcRequest) { + // TODO: later version introduces TRANSPORT_ATTR_LOCAL_ADDR, might be a good idea to use it + return null; } } diff --git a/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java b/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java index f03e2f5cf833..c0c185abfd1a 100644 --- a/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java +++ b/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java @@ -27,4 +27,28 @@ public String peerName(HttpURLConnection connection, @Nullable Integer status) { public Integer peerPort(HttpURLConnection connection, @Nullable Integer status) { return connection.getURL().getPort(); } + + @Nullable + @Override + public String sockFamily(HttpURLConnection connection, @Nullable Integer status) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpURLConnection connection, @Nullable Integer status) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpURLConnection connection, @Nullable Integer status) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpURLConnection connection, @Nullable Integer status) { + return null; + } } diff --git a/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java b/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java index 53ac02288f0f..5b84dab3cb1b 100644 --- a/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java +++ b/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java @@ -51,4 +51,28 @@ public Integer peerPort(HttpRequest httpRequest, @Nullable HttpResponse respo return null; } } + + @Nullable + @Override + public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { + return null; + } } diff --git a/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java b/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java index 66a69e60c9a7..d69965b733e9 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java +++ b/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java @@ -27,10 +27,30 @@ public String peerName(ClientRequest request, @Nullable ClientResponse response) @Override public Integer peerPort(ClientRequest request, @Nullable ClientResponse response) { - int port = request.getURI().getPort(); - if (port != -1) { - return port; - } + return request.getURI().getPort(); + } + + @Nullable + @Override + public String sockFamily(ClientRequest request, @Nullable ClientResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(ClientRequest request, @Nullable ClientResponse response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(ClientRequest request, @Nullable ClientResponse response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ClientRequest request, @Nullable ClientResponse response) { return null; } } diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java index 4cf08505204f..847f99317382 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java @@ -31,4 +31,28 @@ public String peerName(DbRequest request, @Nullable Void unused) { public Integer peerPort(DbRequest request, @Nullable Void unused) { return request.getDbInfo().getPort(); } + + @Nullable + @Override + public String sockFamily(DbRequest dbRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(DbRequest dbRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerName(DbRequest dbRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(DbRequest dbRequest, @Nullable Void unused) { + return null; + } } diff --git a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java index ab1973760b37..468d3f6debd0 100644 --- a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java @@ -25,4 +25,28 @@ public String peerName(JedisRequest request, @Nullable Void unused) { public Integer peerPort(JedisRequest request, @Nullable Void unused) { return request.getConnection().getPort(); } + + @Nullable + @Override + public String sockFamily(JedisRequest jedisRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(JedisRequest jedisRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerName(JedisRequest jedisRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(JedisRequest jedisRequest, @Nullable Void unused) { + return null; + } } diff --git a/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java index 395626a1d6ba..40bcd5731e9f 100644 --- a/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java @@ -15,17 +15,28 @@ final class JedisNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { @Override + public String transport(JedisRequest jedisRequest, @Nullable Void unused) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + @Nullable - public InetSocketAddress getAddress(JedisRequest jedisRequest, @Nullable Void unused) { + @Override + public String peerName(JedisRequest jedisRequest, @Nullable Void unused) { + return jedisRequest.getConnection().getHost(); + } + + @Override + public Integer peerPort(JedisRequest jedisRequest, @Nullable Void unused) { + return jedisRequest.getConnection().getPort(); + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(JedisRequest jedisRequest, @Nullable Void unused) { Socket socket = jedisRequest.getConnection().getSocket(); if (socket != null && socket.getRemoteSocketAddress() instanceof InetSocketAddress) { return (InetSocketAddress) socket.getRemoteSocketAddress(); } return null; } - - @Override - public String transport(JedisRequest jedisRequest, @Nullable Void unused) { - return SemanticAttributes.NetTransportValues.IP_TCP; - } } diff --git a/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java index 873daf066ec0..fb5bfac5f395 100644 --- a/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java @@ -15,17 +15,29 @@ final class JedisNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { @Override + public String transport(JedisRequest jedisRequest, @Nullable Void unused) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + @Nullable - public InetSocketAddress getAddress(JedisRequest jedisRequest, @Nullable Void unused) { - SocketAddress socketAddress = jedisRequest.getRemoteSocketAddress(); - if (socketAddress != null && socketAddress instanceof InetSocketAddress) { - return (InetSocketAddress) socketAddress; - } + @Override + public String peerName(JedisRequest jedisRequest, @Nullable Void unused) { return null; } + @Nullable @Override - public String transport(JedisRequest jedisRequest, @Nullable Void unused) { - return SemanticAttributes.NetTransportValues.IP_TCP; + public Integer peerPort(JedisRequest jedisRequest, @Nullable Void unused) { + return null; + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(JedisRequest jedisRequest, @Nullable Void unused) { + SocketAddress socketAddress = jedisRequest.getRemoteSocketAddress(); + if (socketAddress instanceof InetSocketAddress) { + return (InetSocketAddress) socketAddress; + } + return null; } } diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java index 1ac6a689748b..dddfe309622a 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java @@ -34,4 +34,28 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getPort(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable Response response) { + return null; + } } diff --git a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt index 01222d7e2475..3e80bf48802b 100644 --- a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt +++ b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt @@ -20,10 +20,34 @@ internal class KtorNetServerAttributesGetter : NetServerAttributesGetter response) { public Integer peerPort(Request request, @Nullable ApiResponse response) { return request.url().port(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable ApiResponse apiResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable ApiResponse apiResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable ApiResponse apiResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable ApiResponse apiResponse) { + return null; + } } diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java index 5592d4aec647..c6ab42867ec1 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java @@ -26,4 +26,28 @@ public String peerName(RedisURI redisUri, @Nullable Void unused) { public Integer peerPort(RedisURI redisUri, @Nullable Void unused) { return redisUri.getPort(); } + + @Nullable + @Override + public String sockFamily(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerName(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(RedisURI redisUri, @Nullable Void unused) { + return null; + } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java index 28a33c9b1d3d..cef5c772ba2d 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java @@ -26,4 +26,28 @@ public String peerName(RedisURI redisUri, @Nullable Void unused) { public Integer peerPort(RedisURI redisUri, @Nullable Void unused) { return redisUri.getPort(); } + + @Nullable + @Override + public String sockFamily(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerName(RedisURI redisUri, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(RedisURI redisUri, @Nullable Void unused) { + return null; + } } diff --git a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java index 98ce762d5371..14ec9575f12e 100644 --- a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java @@ -22,7 +22,19 @@ public String transport(OpenTelemetryEndpoint endpoint, @Nullable Void unused) { @Nullable @Override - public InetSocketAddress getAddress( + public String peerName(OpenTelemetryEndpoint openTelemetryEndpoint, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer peerPort(OpenTelemetryEndpoint openTelemetryEndpoint, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( OpenTelemetryEndpoint openTelemetryEndpoint, @Nullable Void unused) { return openTelemetryEndpoint.address; } diff --git a/instrumentation/liberty/compile-stub/src/main/java/com/ibm/ws/http/dispatcher/internal/channel/HttpDispatcherLink.java b/instrumentation/liberty/compile-stub/src/main/java/com/ibm/ws/http/dispatcher/internal/channel/HttpDispatcherLink.java index 8d481ed40212..0f59dc23d6f5 100644 --- a/instrumentation/liberty/compile-stub/src/main/java/com/ibm/ws/http/dispatcher/internal/channel/HttpDispatcherLink.java +++ b/instrumentation/liberty/compile-stub/src/main/java/com/ibm/ws/http/dispatcher/internal/channel/HttpDispatcherLink.java @@ -11,15 +11,19 @@ @SuppressWarnings("OtelInternalJavadoc") public class HttpDispatcherLink { + public String getRemoteHostAddress() { + throw new UnsupportedOperationException(); + } + public int getRemotePort() { throw new UnsupportedOperationException(); } - public String getRemoteHostAddress() { + public String getLocalHostAddress() { throw new UnsupportedOperationException(); } - public int getRequestedPort() { + public int getLocalPort() { throw new UnsupportedOperationException(); } diff --git a/instrumentation/liberty/compile-stub/src/main/java/com/ibm/wsspi/http/channel/HttpRequestMessage.java b/instrumentation/liberty/compile-stub/src/main/java/com/ibm/wsspi/http/channel/HttpRequestMessage.java index e4357701db9a..5705c162a0a8 100644 --- a/instrumentation/liberty/compile-stub/src/main/java/com/ibm/wsspi/http/channel/HttpRequestMessage.java +++ b/instrumentation/liberty/compile-stub/src/main/java/com/ibm/wsspi/http/channel/HttpRequestMessage.java @@ -26,4 +26,8 @@ public interface HttpRequestMessage { String getVersion(); List getAllHeaderNames(); + + String getURLHost(); + + int getURLPort(); } diff --git a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java index 95f447ac41a3..8694c1dde953 100644 --- a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java +++ b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java @@ -13,19 +13,53 @@ public class LibertyDispatcherNetAttributesGetter implements NetServerAttributesGetter { @Override - public String transport(LibertyRequest libertyRequest) { + public String transport(LibertyRequest request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String hostName(LibertyRequest request) { + return request.request().getURLHost(); + } + + @Override + public Integer hostPort(LibertyRequest request) { + return request.request().getURLPort(); + } + + @Nullable + @Override + public String sockFamily(LibertyRequest request) { + return null; + } + @Override @Nullable - public Integer sockPeerPort(LibertyRequest libertyRequest) { - return libertyRequest.peerPort(); + public String sockPeerAddr(LibertyRequest request) { + return request.dispatcher().getRemoteHostAddress(); } @Override + public Integer sockPeerPort(LibertyRequest request) { + return request.dispatcher().getRemotePort(); + } + + @Nullable + @Override + public String sockHostAddr(LibertyRequest request) { + return request.dispatcher().getLocalHostAddress(); + } + @Nullable - public String sockPeerAddr(LibertyRequest libertyRequest) { - return libertyRequest.peerIp(); + @Override + public String sockHostName(LibertyRequest request) { + return null; + } + + @Nullable + @Override + public Integer sockHostPort(LibertyRequest request) { + return request.dispatcher().getLocalPort(); } } diff --git a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyRequest.java b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyRequest.java index 8edc81bee185..245e77e6f229 100644 --- a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyRequest.java +++ b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyRequest.java @@ -38,10 +38,6 @@ public String getQueryString() { return httpRequestMessage.getQueryString(); } - public int getServerPort() { - return httpDispatcherLink.getRequestedPort(); - } - public List getAllHeaderNames() { return httpRequestMessage.getAllHeaderNames(); } @@ -63,15 +59,15 @@ public List getHeaderValues(String name) { return stringHeaders; } - public int peerPort() { - return httpDispatcherLink.getRemotePort(); + public String getProtocol() { + return httpRequestMessage.getVersion(); } - public String peerIp() { - return httpDispatcherLink.getRemoteHostAddress(); + public HttpDispatcherLink dispatcher() { + return httpDispatcherLink; } - public String getProtocol() { - return httpRequestMessage.getVersion(); + public HttpRequestMessage request() { + return httpRequestMessage; } } diff --git a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java index 787ec3272cc1..48188df9494e 100644 --- a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java +++ b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java @@ -6,26 +6,58 @@ package io.opentelemetry.instrumentation.mongo.v3_1; import com.mongodb.event.CommandStartedEvent; -import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; -import java.net.InetSocketAddress; +import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; import javax.annotation.Nullable; -class MongoNetAttributesGetter - extends InetSocketAddressNetClientAttributesGetter { +class MongoNetAttributesGetter implements NetClientAttributesGetter { + @Override @Nullable - public InetSocketAddress getAddress(CommandStartedEvent event, @Nullable Void unused) { + public String transport(CommandStartedEvent event, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String peerName(CommandStartedEvent event, @Nullable Void unused) { if (event.getConnectionDescription() != null && event.getConnectionDescription().getServerAddress() != null) { - return event.getConnectionDescription().getServerAddress().getSocketAddress(); - } else { - return null; + return event.getConnectionDescription().getServerAddress().getHost(); } + return null; + } + + @Nullable + @Override + public Integer peerPort(CommandStartedEvent event, @Nullable Void unused) { + if (event.getConnectionDescription() != null + && event.getConnectionDescription().getServerAddress() != null) { + return event.getConnectionDescription().getServerAddress().getPort(); + } + return null; } + @Nullable @Override + public String sockFamily(CommandStartedEvent event, @Nullable Void unused) { + return null; + } + @Nullable - public String transport(CommandStartedEvent commandStartedEvent, @Nullable Void unused) { + @Override + public String sockPeerAddr(CommandStartedEvent event, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public String sockPeerName(CommandStartedEvent event, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(CommandStartedEvent event, @Nullable Void unused) { return null; } } diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java index e15feaa5c129..1841fcd281bc 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java @@ -19,25 +19,42 @@ final class NettyConnectNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { + @Override + public String transport(NettyConnectionRequest request, @Nullable Channel channel) { + return channel instanceof DatagramChannel ? IP_UDP : IP_TCP; + } + @Nullable @Override - public InetSocketAddress getAddress(NettyConnectionRequest request, @Nullable Channel channel) { - SocketAddress remoteAddress = null; - if (channel != null) { - remoteAddress = channel.getRemoteAddress(); - } - // remote address on end() may be null when connection hasn't been established - if (remoteAddress == null) { - remoteAddress = request.remoteAddressOnStart(); + public String peerName(NettyConnectionRequest request, @Nullable Channel channel) { + SocketAddress requestedAddress = request.remoteAddressOnStart(); + if (requestedAddress instanceof InetSocketAddress) { + return ((InetSocketAddress) requestedAddress).getHostString(); } - if (remoteAddress instanceof InetSocketAddress) { - return (InetSocketAddress) remoteAddress; + return null; + } + + @Nullable + @Override + public Integer peerPort(NettyConnectionRequest request, @Nullable Channel channel) { + SocketAddress requestedAddress = request.remoteAddressOnStart(); + if (requestedAddress instanceof InetSocketAddress) { + return ((InetSocketAddress) requestedAddress).getPort(); } return null; } + @Nullable @Override - public String transport(NettyConnectionRequest request, @Nullable Channel channel) { - return channel instanceof DatagramChannel ? IP_UDP : IP_TCP; + public InetSocketAddress getPeerAddress( + NettyConnectionRequest request, @Nullable Channel channel) { + if (channel == null) { + return null; + } + SocketAddress remoteAddress = channel.getRemoteAddress(); + if (remoteAddress instanceof InetSocketAddress) { + return (InetSocketAddress) remoteAddress; + } + return null; } } diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java index 8364398b0618..38275ad82ea6 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java @@ -5,31 +5,48 @@ package io.opentelemetry.javaagent.instrumentation.netty.v3_8.client; +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.InetSocketAddressNetClientAttributesGetter; 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 NettyNetClientAttributesGetter extends InetSocketAddressNetClientAttributesGetter { @Override - @Nullable - public InetSocketAddress getAddress( + public String transport( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { - SocketAddress address = requestAndChannel.channel().getRemoteAddress(); - if (address instanceof InetSocketAddress) { - return (InetSocketAddress) address; - } + return requestAndChannel.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; + } + + @Nullable + @Override + public String peerName( + HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer peerPort( + HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse httpResponse) { return null; } @Override @Nullable - public String transport( + public InetSocketAddress getPeerAddress( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { + SocketAddress address = requestAndChannel.channel().getRemoteAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } return null; } } diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java index bed71eb95b02..07be1ce4c87f 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java @@ -19,18 +19,39 @@ final class NettyNetServerAttributesGetter extends InetSocketAddressNetServerAttributesGetter { @Override - @Nullable public String transport(HttpRequestAndChannel requestAndChannel) { return requestAndChannel.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; } + @Nullable @Override + public String hostName(HttpRequestAndChannel requestAndChannel) { + return null; + } + @Nullable - public InetSocketAddress getAddress(HttpRequestAndChannel requestAndChannel) { + @Override + public Integer hostPort(HttpRequestAndChannel requestAndChannel) { + return null; + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.channel().getRemoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } + + @Nullable + @Override + public InetSocketAddress getHostAddress(HttpRequestAndChannel requestAndChannel) { + SocketAddress address = requestAndChannel.channel().getLocalAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } + return null; + } } diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java index e4eed780c643..201ba847ec88 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java @@ -19,25 +19,42 @@ final class NettyConnectNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { + @Override + public String transport(NettyConnectionRequest request, @Nullable Channel channel) { + return channel instanceof DatagramChannel ? IP_UDP : IP_TCP; + } + @Nullable @Override - public InetSocketAddress getAddress(NettyConnectionRequest request, @Nullable Channel channel) { - SocketAddress remoteAddress = null; - if (channel != null) { - remoteAddress = channel.remoteAddress(); - } - // remote address on end() may be null when connection hasn't been established - if (remoteAddress == null) { - remoteAddress = request.remoteAddressOnStart(); + public String peerName(NettyConnectionRequest request, @Nullable Channel channel) { + SocketAddress requestedAddress = request.remoteAddressOnStart(); + if (requestedAddress instanceof InetSocketAddress) { + return ((InetSocketAddress) requestedAddress).getHostString(); } - if (remoteAddress instanceof InetSocketAddress) { - return (InetSocketAddress) remoteAddress; + return null; + } + + @Nullable + @Override + public Integer peerPort(NettyConnectionRequest request, @Nullable Channel channel) { + SocketAddress requestedAddress = request.remoteAddressOnStart(); + if (requestedAddress instanceof InetSocketAddress) { + return ((InetSocketAddress) requestedAddress).getPort(); } return null; } + @Nullable @Override - public String transport(NettyConnectionRequest request, @Nullable Channel channel) { - return channel instanceof DatagramChannel ? IP_UDP : IP_TCP; + public InetSocketAddress getPeerAddress( + NettyConnectionRequest request, @Nullable Channel channel) { + if (channel == null) { + return null; + } + SocketAddress remoteAddress = channel.remoteAddress(); + if (remoteAddress instanceof InetSocketAddress) { + return (InetSocketAddress) remoteAddress; + } + return null; } } diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java index eaa541fd7b5b..0ad10ce347fb 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java @@ -5,6 +5,10 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; +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.InetSocketAddressNetClientAttributesGetter; import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; @@ -16,20 +20,33 @@ final class NettyNetClientAttributesGetter extends InetSocketAddressNetClientAttributesGetter { @Override - @Nullable - public InetSocketAddress getAddress( + public String transport( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { - SocketAddress address = requestAndChannel.remoteAddress(); - if (address instanceof InetSocketAddress) { - return (InetSocketAddress) address; - } + return requestAndChannel.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; + } + + @Nullable + @Override + public String peerName( + HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer peerPort( + HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse httpResponse) { return null; } @Override @Nullable - public String transport( + public InetSocketAddress getPeerAddress( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { + SocketAddress address = requestAndChannel.remoteAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } return null; } } diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java index a836893583d9..0ac439c7629e 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java @@ -16,17 +16,29 @@ final class NettySslNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { + @Override + public String transport(NettySslRequest request, @Nullable Void unused) { + return request.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; + } + @Nullable @Override - public InetSocketAddress getAddress(NettySslRequest request, @Nullable Void unused) { - if (request.remoteAddress() instanceof InetSocketAddress) { - return (InetSocketAddress) request.remoteAddress(); - } + public String peerName(NettySslRequest nettySslRequest, @Nullable Void unused) { return null; } + @Nullable @Override - public String transport(NettySslRequest request, @Nullable Void unused) { - return request.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; + public Integer peerPort(NettySslRequest nettySslRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public InetSocketAddress getPeerAddress(NettySslRequest request, @Nullable Void unused) { + if (request.remoteAddress() instanceof InetSocketAddress) { + return (InetSocketAddress) request.remoteAddress(); + } + return null; } } diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java index c0247d1ef672..d21319eb6e82 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java @@ -24,13 +24,35 @@ public String transport(HttpRequestAndChannel requestAndChannel) { return requestAndChannel.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; } + @Nullable + @Override + public String hostName(HttpRequestAndChannel requestAndChannel) { + return null; + } + + @Nullable + @Override + public Integer hostPort(HttpRequestAndChannel requestAndChannel) { + return null; + } + @Override @Nullable - public InetSocketAddress getAddress(HttpRequestAndChannel requestAndChannel) { + public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } return null; } + + @Nullable + @Override + public InetSocketAddress getHostAddress(HttpRequestAndChannel requestAndChannel) { + SocketAddress address = requestAndChannel.channel().localAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } + return null; + } } diff --git a/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java b/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java index 874dd82591ed..53ead976a539 100644 --- a/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java +++ b/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java @@ -29,4 +29,28 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.url().getPort(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable Response response) { + return null; + } } diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java index 318b6d8d9733..32d3291870d7 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java @@ -33,4 +33,28 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.url().port(); } + + @Nullable + @Override + public String sockFamily(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public String sockPeerName(Request request, @Nullable Response response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(Request request, @Nullable Response response) { + return null; + } } diff --git a/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java b/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java index 96df0b34088f..3b3ee1c09c37 100644 --- a/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java +++ b/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java @@ -20,9 +20,20 @@ public String transport(Request request, @Nullable Response response) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String peerName(Request request, @Nullable Response response) { + return request.getUri().getHost(); + } + + @Override + public Integer peerPort(Request request, @Nullable Response response) { + return request.getUri().getPort(); + } + @Override @Nullable - public InetSocketAddress getAddress(Request request, @Nullable Response response) { + public InetSocketAddress getPeerAddress(Request request, @Nullable Response response) { if (response != null && response.getRemoteAddress() instanceof InetSocketAddress) { return (InetSocketAddress) response.getRemoteAddress(); } diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java index 3b30d16be2b6..794c186c81a3 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java @@ -21,14 +21,13 @@ public String transport(ChannelAndMethod channelAndMethod, @Nullable Void unused @Nullable @Override public String peerName(ChannelAndMethod channelAndMethod, @Nullable Void unused) { - // not using InetAddress.getHostName() since that can trigger reverse name lookup - return channelAndMethod.getChannel().getConnection().getAddress().getHostAddress(); + return null; } @Nullable @Override public Integer peerPort(ChannelAndMethod channelAndMethod, @Nullable Void unused) { - return channelAndMethod.getChannel().getConnection().getPort(); + return null; } @Nullable @@ -37,6 +36,17 @@ public String sockPeerAddr(ChannelAndMethod channelAndMethod, @Nullable Void unu return channelAndMethod.getChannel().getConnection().getAddress().getHostAddress(); } + @Nullable + @Override + public String sockPeerName(ChannelAndMethod channelAndMethod, @Nullable Void unused) { + return null; + } + + @Override + public Integer sockPeerPort(ChannelAndMethod channelAndMethod, @Nullable Void unused) { + return channelAndMethod.getChannel().getConnection().getPort(); + } + @Nullable @Override public String sockFamily(ChannelAndMethod channelAndMethod, @Nullable Void unused) { diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java index a34f22c4bb9a..f2f6109ec45b 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java @@ -22,14 +22,13 @@ public String transport(ReceiveRequest request, @Nullable GetResponse response) @Nullable @Override public String peerName(ReceiveRequest request, @Nullable GetResponse response) { - // not using InetAddress.getHostName() since that can trigger reverse name lookup - return request.getConnection().getAddress().getHostAddress(); + return null; } @Nullable @Override public Integer peerPort(ReceiveRequest request, @Nullable GetResponse response) { - return request.getConnection().getPort(); + return null; } @Nullable @@ -38,6 +37,18 @@ public String sockPeerAddr(ReceiveRequest request, @Nullable GetResponse respons return request.getConnection().getAddress().getHostAddress(); } + @Nullable + @Override + public String sockPeerName(ReceiveRequest request, @Nullable GetResponse response) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(ReceiveRequest request, @Nullable GetResponse response) { + return request.getConnection().getPort(); + } + @Nullable @Override public String sockFamily(ReceiveRequest request, @Nullable GetResponse response) { diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java index 8d5cfb8674ea..25abcb9e0810 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java @@ -17,6 +17,7 @@ */ public final class RatpackHttpNetAttributesGetter implements NetClientAttributesGetter { + @Override public String transport(RequestSpec request, @Nullable HttpResponse response) { return SemanticAttributes.NetTransportValues.IP_TCP; @@ -32,4 +33,28 @@ public String peerName(RequestSpec request, @Nullable HttpResponse response) { public Integer peerPort(RequestSpec request, @Nullable HttpResponse response) { return request.getUri().getPort(); } + + @Nullable + @Override + public String sockFamily(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { + return null; + } } diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java index 4c24558fba46..5481b6cd52fa 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java @@ -8,7 +8,9 @@ import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; +import ratpack.handling.Context; import ratpack.http.Request; +import ratpack.server.PublicAddress; /** * This class is internal and is hence not for public use. Its APIs are unstable and can change at @@ -20,14 +22,60 @@ public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String hostName(Request request) { + PublicAddress publicAddress = getPublicAddress(request); + return publicAddress == null ? null : publicAddress.get().getHost(); + } + + @Nullable + @Override + public Integer hostPort(Request request) { + PublicAddress publicAddress = getPublicAddress(request); + return publicAddress == null ? null : publicAddress.get().getPort(); + } + + private static PublicAddress getPublicAddress(Request request) { + Context ratpackContext = request.get(Context.class); + if (ratpackContext == null) { + return null; + } + return ratpackContext.get(PublicAddress.class); + } + + @Nullable + @Override + public String sockFamily(Request request) { + return null; + } + + @Override + @Nullable + public String sockPeerAddr(Request request) { + return null; + } + @Override public Integer sockPeerPort(Request request) { return request.getRemoteAddress().getPort(); } + @Nullable + @Override + public String sockHostAddr(Request request) { + return null; + } + + @Nullable @Override + public String sockHostName(Request request) { + return null; + } + @Nullable - public String sockPeerAddr(Request request) { + @Override + public Integer sockHostPort(Request request) { return null; } } diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java index 067cc10feaa3..0ba5064c6a51 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java @@ -8,6 +8,8 @@ import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import java.net.InetSocketAddress; import java.net.SocketAddress; +import java.net.URI; +import java.net.URISyntaxException; import javax.annotation.Nullable; import reactor.netty.Connection; import reactor.netty.http.client.HttpClientConfig; @@ -24,7 +26,21 @@ public String transport(HttpClientConfig request, @Nullable HttpClientResponse r @Nullable @Override - public InetSocketAddress getAddress( + public String peerName(HttpClientConfig request, @Nullable HttpClientResponse response) { + URI parsedUri = parseUri(request); + return parsedUri == null ? null : parsedUri.getHost(); + } + + @Nullable + @Override + public Integer peerPort(HttpClientConfig request, @Nullable HttpClientResponse response) { + URI parsedUri = parseUri(request); + return parsedUri == null ? null : parsedUri.getPort(); + } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( HttpClientConfig request, @Nullable HttpClientResponse response) { // we're making use of the fact that HttpClientOperations is both a Connection and an @@ -38,4 +54,21 @@ public InetSocketAddress getAddress( } return null; } + + private static URI parseUri(HttpClientConfig request) { + String baseUrl = request.baseUrl(); + String uri = request.uri(); + + URI parsedUri; + try { + if (baseUrl != null && uri.startsWith("/")) { + parsedUri = new URI(baseUrl); + } else { + parsedUri = new URI(uri); + } + } catch (URISyntaxException ignored) { + return null; + } + return parsedUri; + } } diff --git a/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java b/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java index 0700622183e0..cf34f4458689 100644 --- a/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java +++ b/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java @@ -12,14 +12,26 @@ final class RedissonNetAttributesGetter extends InetSocketAddressNetClientAttributesGetter { + @Nullable @Override - public InetSocketAddress getAddress(RedissonRequest request, @Nullable Void unused) { - return request.getAddress(); + public String transport(RedissonRequest request, @Nullable Void unused) { + return null; } @Nullable @Override - public String transport(RedissonRequest request, @Nullable Void unused) { + public String peerName(RedissonRequest redissonRequest, @Nullable Void unused) { + return null; + } + + @Nullable + @Override + public Integer peerPort(RedissonRequest redissonRequest, @Nullable Void unused) { return null; } + + @Override + public InetSocketAddress getPeerAddress(RedissonRequest request, @Nullable Void unused) { + return request.getAddress(); + } } diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java index e94f1c6d11e1..6e0fc4afd028 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java @@ -5,20 +5,38 @@ package io.opentelemetry.instrumentation.restlet.v1_0; +import com.noelios.restlet.http.HttpCall; +import com.noelios.restlet.http.HttpRequest; import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.restlet.data.Request; final class RestletNetAttributesGetter implements NetServerAttributesGetter { + @Override public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable @Override - public Integer sockPeerPort(Request request) { - return request.getClientInfo().getPort(); + public String hostName(Request request) { + HttpCall call = httpCall(request); + return call == null ? null : call.getHostDomain(); + } + + @Nullable + @Override + public Integer hostPort(Request request) { + HttpCall call = httpCall(request); + return call == null ? null : call.getServerPort(); + } + + @Nullable + @Override + public String sockFamily(Request request) { + return null; } @Override @@ -26,4 +44,36 @@ public Integer sockPeerPort(Request request) { public String sockPeerAddr(Request request) { return request.getClientInfo().getAddress(); } + + @Override + public Integer sockPeerPort(Request request) { + return request.getClientInfo().getPort(); + } + + @Nullable + @Override + public String sockHostAddr(Request request) { + HttpCall call = httpCall(request); + return call == null ? null : call.getServerAddress(); + } + + @Nullable + @Override + public String sockHostName(Request request) { + return null; + } + + @Nullable + @Override + public Integer sockHostPort(Request request) { + return null; + } + + @Nullable + private static HttpCall httpCall(Request request) { + if (request instanceof HttpRequest) { + return ((HttpRequest) request).getHttpCall(); + } + return null; + } } diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java index d883e5e4df3a..f7b4b001ca00 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java @@ -9,16 +9,34 @@ import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import javax.annotation.Nullable; import org.restlet.Request; +import org.restlet.engine.http.HttpRequest; +import org.restlet.engine.http.ServerCall; final class RestletNetAttributesGetter implements NetServerAttributesGetter { + @Override public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable @Override - public Integer sockPeerPort(Request request) { - return request.getClientInfo().getPort(); + public String hostName(Request request) { + ServerCall call = serverCall(request); + return call == null ? null : call.getHostDomain(); + } + + @Nullable + @Override + public Integer hostPort(Request request) { + ServerCall call = serverCall(request); + return call == null ? null : call.getServerPort(); + } + + @Nullable + @Override + public String sockFamily(Request request) { + return null; } @Override @@ -26,4 +44,36 @@ public Integer sockPeerPort(Request request) { public String sockPeerAddr(Request request) { return request.getClientInfo().getAddress(); } + + @Override + public Integer sockPeerPort(Request request) { + return request.getClientInfo().getPort(); + } + + @Nullable + @Override + public String sockHostAddr(Request request) { + ServerCall call = serverCall(request); + return call == null ? null : call.getServerAddress(); + } + + @Nullable + @Override + public String sockHostName(Request request) { + return null; + } + + @Nullable + @Override + public Integer sockHostPort(Request request) { + return null; + } + + @Nullable + private static ServerCall serverCall(Request request) { + if (request instanceof HttpRequest) { + return ((HttpRequest) request).getHttpCall(); + } + return null; + } } diff --git a/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Accessor.java b/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Accessor.java index 6325f265e1b5..3797738541eb 100644 --- a/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Accessor.java +++ b/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Accessor.java @@ -22,6 +22,21 @@ public Integer getRequestRemotePort(HttpServletRequest httpServletRequest) { return null; } + @Override + public String getRequestLocalName(HttpServletRequest request) { + return null; + } + + @Override + public String getRequestLocalAddr(HttpServletRequest request) { + return null; + } + + @Override + public Integer getRequestLocalPort(HttpServletRequest request) { + return null; + } + @Override public void addRequestAsyncListener( HttpServletRequest httpServletRequest, diff --git a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Accessor.java b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Accessor.java index 68514bdc659a..0a0249723691 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Accessor.java +++ b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Accessor.java @@ -26,6 +26,21 @@ public Integer getRequestRemotePort(HttpServletRequest request) { return request.getRemotePort(); } + @Override + public String getRequestLocalName(HttpServletRequest request) { + return request.getLocalName(); + } + + @Override + public String getRequestLocalAddr(HttpServletRequest request) { + return request.getLocalAddr(); + } + + @Override + public Integer getRequestLocalPort(HttpServletRequest request) { + return request.getLocalPort(); + } + @Override public void addRequestAsyncListener( HttpServletRequest request, diff --git a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Accessor.java b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Accessor.java index 7d56896c38a7..4d77ee603edc 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Accessor.java +++ b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Accessor.java @@ -65,11 +65,41 @@ public String getRequestMethod(HttpServletRequest request) { return request.getMethod(); } + @Override + public String getRequestServerName(HttpServletRequest request) { + return request.getServerName(); + } + + @Override + public Integer getRequestServerPort(HttpServletRequest request) { + return request.getServerPort(); + } + @Override public String getRequestRemoteAddr(HttpServletRequest request) { return request.getRemoteAddr(); } + @Override + public Integer getRequestRemotePort(HttpServletRequest request) { + return request.getRemotePort(); + } + + @Override + public String getRequestLocalName(HttpServletRequest request) { + return request.getLocalName(); + } + + @Override + public String getRequestLocalAddr(HttpServletRequest request) { + return request.getLocalAddr(); + } + + @Override + public Integer getRequestLocalPort(HttpServletRequest request) { + return request.getLocalPort(); + } + @Override public String getRequestHeader(HttpServletRequest request, String name) { return request.getHeader(name); @@ -108,11 +138,6 @@ public Principal getRequestUserPrincipal(HttpServletRequest request) { return request.getUserPrincipal(); } - @Override - public Integer getRequestRemotePort(HttpServletRequest request) { - return request.getRemotePort(); - } - @Override public void addRequestAsyncListener( HttpServletRequest request, diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletAccessor.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletAccessor.java index 6d24c11fb321..394692171e99 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletAccessor.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletAccessor.java @@ -35,8 +35,20 @@ public interface ServletAccessor { String getRequestMethod(REQUEST request); + String getRequestServerName(REQUEST request); + + Integer getRequestServerPort(REQUEST request); + String getRequestRemoteAddr(REQUEST request); + Integer getRequestRemotePort(REQUEST request); + + String getRequestLocalName(REQUEST request); + + String getRequestLocalAddr(REQUEST request); + + Integer getRequestLocalPort(REQUEST request); + String getRequestHeader(REQUEST request, String name); List getRequestHeaderValues(REQUEST request, String name); @@ -51,8 +63,6 @@ public interface ServletAccessor { Principal getRequestUserPrincipal(REQUEST request); - Integer getRequestRemotePort(REQUEST request); - void addRequestAsyncListener( REQUEST request, ServletAsyncListener listener, Object response); diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java index ec0ff1bbab1e..18721f06bc63 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java @@ -11,6 +11,7 @@ public class ServletNetAttributesGetter implements NetServerAttributesGetter> { + private final ServletAccessor accessor; public ServletNetAttributesGetter(ServletAccessor accessor) { @@ -23,10 +24,22 @@ public String transport(ServletRequestContext requestContext) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable @Override + public String hostName(ServletRequestContext requestContext) { + return accessor.getRequestServerName(requestContext.request()); + } + @Nullable - public Integer sockPeerPort(ServletRequestContext requestContext) { - return accessor.getRequestRemotePort(requestContext.request()); + @Override + public Integer hostPort(ServletRequestContext requestContext) { + return accessor.getRequestServerPort(requestContext.request()); + } + + @Nullable + @Override + public String sockFamily(ServletRequestContext requestContext) { + return null; } @Override @@ -34,4 +47,28 @@ public Integer sockPeerPort(ServletRequestContext requestContext) { public String sockPeerAddr(ServletRequestContext requestContext) { return accessor.getRequestRemoteAddr(requestContext.request()); } + + @Override + @Nullable + public Integer sockPeerPort(ServletRequestContext requestContext) { + return accessor.getRequestRemotePort(requestContext.request()); + } + + @Nullable + @Override + public String sockHostAddr(ServletRequestContext requestContext) { + return accessor.getRequestLocalAddr(requestContext.request()); + } + + @Nullable + @Override + public String sockHostName(ServletRequestContext requestContext) { + return accessor.getRequestLocalName(requestContext.request()); + } + + @Nullable + @Override + public Integer sockHostPort(ServletRequestContext requestContext) { + return accessor.getRequestLocalPort(requestContext.request()); + } } diff --git a/instrumentation/servlet/servlet-javax-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/javax/JavaxServletAccessor.java b/instrumentation/servlet/servlet-javax-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/javax/JavaxServletAccessor.java index db1a6198092a..7a300c16313f 100644 --- a/instrumentation/servlet/servlet-javax-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/javax/JavaxServletAccessor.java +++ b/instrumentation/servlet/servlet-javax-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/javax/JavaxServletAccessor.java @@ -55,6 +55,16 @@ public String getRequestMethod(HttpServletRequest request) { return request.getMethod(); } + @Override + public String getRequestServerName(HttpServletRequest request) { + return request.getServerName(); + } + + @Override + public Integer getRequestServerPort(HttpServletRequest request) { + return request.getServerPort(); + } + @Override public String getRequestRemoteAddr(HttpServletRequest request) { return request.getRemoteAddr(); diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java index 2996c93fbe13..4a59373d7a3f 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java @@ -13,6 +13,7 @@ final class SpringWebNetAttributesGetter implements NetClientAttributesGetter { + @Override public String transport(HttpRequest httpRequest, @Nullable ClientHttpResponse response) { return SemanticAttributes.NetTransportValues.IP_TCP; @@ -28,4 +29,32 @@ public String peerName(HttpRequest httpRequest, @Nullable ClientHttpResponse res public Integer peerPort(HttpRequest httpRequest, @Nullable ClientHttpResponse response) { return httpRequest.getURI().getPort(); } + + @Nullable + @Override + public String sockFamily( + HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr( + HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName( + HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort( + HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { + return null; + } } diff --git a/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java b/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java index 090694ea317e..17f3ad559c78 100644 --- a/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java +++ b/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java @@ -33,4 +33,29 @@ public String peerName(ClientRequest request, @Nullable ClientResponse response) public Integer peerPort(ClientRequest request, @Nullable ClientResponse response) { return request.url().getPort(); } + + @Nullable + @Override + public String sockFamily(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerAddr(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { + return null; + } + + @Nullable + @Override + public String sockPeerName(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { + return null; + } + + @Nullable + @Override + public Integer sockPeerPort( + ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { + return null; + } } diff --git a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java index f961ab636a37..c1320f2301ea 100644 --- a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java +++ b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java @@ -18,9 +18,21 @@ public String transport(HttpServletRequest request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable @Override - public Integer sockPeerPort(HttpServletRequest request) { - return request.getRemotePort(); + public String hostName(HttpServletRequest request) { + return request.getServerName(); + } + + @Override + public Integer hostPort(HttpServletRequest request) { + return request.getServerPort(); + } + + @Nullable + @Override + public String sockFamily(HttpServletRequest request) { + return null; } @Override @@ -28,4 +40,26 @@ public Integer sockPeerPort(HttpServletRequest request) { public String sockPeerAddr(HttpServletRequest request) { return request.getRemoteAddr(); } + + @Override + public Integer sockPeerPort(HttpServletRequest request) { + return request.getRemotePort(); + } + + @Nullable + @Override + public String sockHostAddr(HttpServletRequest request) { + return request.getLocalAddr(); + } + + @Nullable + @Override + public String sockHostName(HttpServletRequest request) { + return request.getLocalName(); + } + + @Override + public Integer sockHostPort(HttpServletRequest request) { + return request.getLocalPort(); + } } diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java index 2573db0127bc..e950b66e836f 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java @@ -19,11 +19,21 @@ public String transport(Request request) { return SemanticAttributes.NetTransportValues.IP_TCP; } + @Nullable + @Override + public String hostName(Request request) { + return request.serverName().toString(); + } + @Override + public Integer hostPort(Request request) { + return request.getServerPort(); + } + @Nullable - public Integer sockPeerPort(Request request) { - request.action(ActionCode.REQ_REMOTEPORT_ATTRIBUTE, request); - return request.getRemotePort(); + @Override + public String sockFamily(Request request) { + return null; } @Override @@ -32,4 +42,32 @@ public String sockPeerAddr(Request request) { request.action(ActionCode.REQ_HOST_ADDR_ATTRIBUTE, request); return request.remoteAddr().toString(); } + + @Override + @Nullable + public Integer sockPeerPort(Request request) { + request.action(ActionCode.REQ_REMOTEPORT_ATTRIBUTE, request); + return request.getRemotePort(); + } + + @Nullable + @Override + public String sockHostAddr(Request request) { + request.action(ActionCode.REQ_LOCAL_ADDR_ATTRIBUTE, request); + return request.localAddr().toString(); + } + + @Nullable + @Override + public String sockHostName(Request request) { + request.action(ActionCode.REQ_LOCAL_NAME_ATTRIBUTE, request); + return request.localName().toString(); + } + + @Nullable + @Override + public Integer sockHostPort(Request request) { + request.action(ActionCode.REQ_LOCALPORT_ATTRIBUTE, request); + return request.getLocalPort(); + } } diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java index f4fe5e4a61cf..19a4a12f8e96 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java @@ -15,13 +15,31 @@ public class UndertowNetAttributesGetter extends InetSocketAddressNetServerAttributesGetter { @Override + public String transport(HttpServerExchange exchange) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + + @Nullable + @Override + public String hostName(HttpServerExchange exchange) { + return exchange.getHostName(); + } + @Nullable - public InetSocketAddress getAddress(HttpServerExchange exchange) { + @Override + public Integer hostPort(HttpServerExchange exchange) { + return exchange.getHostPort(); + } + + @Override + @Nullable + public InetSocketAddress getPeerAddress(HttpServerExchange exchange) { return exchange.getConnection().getPeerAddress(InetSocketAddress.class); } + @Nullable @Override - public String transport(HttpServerExchange exchange) { - return SemanticAttributes.NetTransportValues.IP_TCP; + public InetSocketAddress getHostAddress(HttpServerExchange exchange) { + return exchange.getConnection().getLocalAddress(InetSocketAddress.class); } } diff --git a/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java b/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java index b7b8154d9a3e..1973e7a25977 100644 --- a/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java +++ b/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java @@ -5,14 +5,16 @@ package io.opentelemetry.javaagent.instrumentation.vertx.v4_0.client; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.vertx.core.http.HttpClientRequest; import io.vertx.core.http.HttpClientResponse; +import io.vertx.core.net.SocketAddress; +import java.net.InetSocketAddress; import javax.annotation.Nullable; final class Vertx4NetAttributesGetter - implements NetClientAttributesGetter { + extends InetSocketAddressNetClientAttributesGetter { @Override public String transport(HttpClientRequest request, @Nullable HttpClientResponse response) { @@ -29,4 +31,18 @@ public String peerName(HttpClientRequest request, @Nullable HttpClientResponse r public Integer peerPort(HttpClientRequest request, @Nullable HttpClientResponse response) { return request.getPort(); } + + @Nullable + @Override + public InetSocketAddress getPeerAddress( + HttpClientRequest request, @Nullable HttpClientResponse response) { + if (response == null) { + return null; + } + SocketAddress address = response.netSocket().remoteAddress(); + if (address instanceof InetSocketAddress) { + return (InetSocketAddress) address; + } + return null; + } } From 6574cbe286639ead31e80cee8302f79a6ebb9ae8 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Thu, 25 Aug 2022 14:03:27 +0200 Subject: [PATCH 3/7] Net attributes getters changes: test fixes --- .../apachecamel/RestCamelTest.groovy | 8 +- ...woServicesWithDirectClientCamelTest.groovy | 8 +- .../test/groovy/CassandraClientTest.groovy | 4 +- .../test/groovy/CassandraClientTest.groovy | 4 +- .../src/test/groovy/CouchbaseSpanUtil.groovy | 5 +- .../Elasticsearch5TransportClientTest.groovy | 30 ++-- .../Elasticsearch53TransportClientTest.groovy | 30 ++-- .../Elasticsearch6TransportClientTest.groovy | 30 ++-- .../grpc/v1_6/AbstractGrpcStreamingTest.java | 18 +- .../grpc/v1_6/AbstractGrpcTest.java | 154 +++++++++++------- .../groovy/AbstractJaxRsHttpServerTest.groovy | 4 + .../src/test/groovy/Jedis40ClientTest.groovy | 27 +-- .../src/main/groovy/BaseJsfTest.groovy | 4 + .../JspInstrumentationBasicTests.groovy | 73 ++++++--- .../JspInstrumentationForwardTests.groovy | 54 ++++-- .../v5_1/LettuceReactiveClientTest.groovy | 8 +- .../AbstractLettuceAsyncClientTest.groovy | 24 +-- .../AbstractLettuceReactiveClientTest.groovy | 36 ++-- .../AbstractLettuceSyncClientAuthTest.groovy | 4 +- .../v5_1/AbstractLettuceSyncClientTest.groovy | 48 +++--- .../testing/AbstractMongoClientTest.groovy | 1 - .../src/test/groovy/Netty38ClientTest.groovy | 6 +- .../test/groovy/Netty40ClientSslTest.groovy | 8 +- .../src/test/groovy/Netty40ClientTest.groovy | 6 +- .../test/groovy/Netty41ClientSslTest.groovy | 8 +- .../src/test/groovy/Netty41ClientTest.groovy | 6 +- .../src/test/groovy/RabbitMqTest.groovy | 4 +- .../test/groovy/ReactorRabbitMqTest.groovy | 4 +- .../groovy/server/RatpackRoutesTest.groovy | 1 - .../ratpack/RatpackForkedHttpClientTest.java | 14 ++ .../ratpack/RatpackHttpClientTest.java | 14 ++ .../ratpack/RatpackPooledHttpClientTest.java | 14 ++ .../server/AbstractRatpackRoutesTest.groovy | 7 +- .../client/AbstractRatpackHttpClientTest.java | 23 +-- .../ratpack/server/RatpackRoutesTest.groovy | 1 - .../AbstractReactorNettyHttpClientTest.groovy | 6 +- .../AbstractReactorNettyHttpClientTest.java | 32 ++-- .../v1_0/ReactorNettyClientSslTest.java | 17 +- .../v1_0/ReactorNettyConnectionSpanTest.java | 8 +- .../v1_0/ReactorNettyHttpClientTest.java | 19 +++ .../AbstractRedissonAsyncClientTest.groovy | 12 +- .../groovy/AbstractRedissonClientTest.groovy | 66 ++++---- .../src/test/groovy/SparkJavaBasedTest.groovy | 10 +- .../SpringIntegrationAndRabbitTest.groovy | 12 +- .../test/groovy/ContextPropagationTest.groovy | 8 +- .../src/test/groovy/SpringWebfluxTest.groovy | 27 +++ .../src/test/groovy/UndertowServerTest.groovy | 16 +- .../VertxReactivePropagationTest.groovy | 6 + .../VertxReactivePropagationTest.groovy | 6 + .../test/base/HttpServerTest.groovy | 3 + .../junit/http/AbstractHttpClientTest.java | 39 +++-- .../junit/http/AbstractHttpServerTest.java | 16 +- 52 files changed, 626 insertions(+), 367 deletions(-) diff --git a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy index 43b04b606088..46153629f145 100644 --- a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy +++ b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy @@ -95,10 +95,14 @@ class RestCamelTest extends AgentInstrumentationSpecification implements RetryOn "$SemanticAttributes.HTTP_USER_AGENT" String "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_METHOD" "GET" + "$SemanticAttributes.HTTP_ROUTE" "/api/{module}/unit/{unitId}" + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "net.host.name" "localhost" + "net.host.port" port "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long - "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.HTTP_ROUTE" "/api/{module}/unit/{unitId}" + "net.sock.host.name" String + "net.sock.host.addr" "127.0.0.1" } } it.span(3) { diff --git a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/TwoServicesWithDirectClientCamelTest.groovy b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/TwoServicesWithDirectClientCamelTest.groovy index 3b4605337756..1e465b758b1c 100644 --- a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/TwoServicesWithDirectClientCamelTest.groovy +++ b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/TwoServicesWithDirectClientCamelTest.groovy @@ -128,13 +128,15 @@ class TwoServicesWithDirectClientCamelTest extends AgentInstrumentationSpecifica "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "127.0.0.1:$portTwo" "$SemanticAttributes.HTTP_TARGET" "/serviceTwo" - "net.sock.peer.port" Number - "net.sock.peer.addr" "127.0.0.1" "$SemanticAttributes.HTTP_USER_AGENT" "Jakarta Commons-HttpClient/3.1" "$SemanticAttributes.HTTP_FLAVOR" "1.1" - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_REQUEST_CONTENT_LENGTH" Long "$SemanticAttributes.HTTP_ROUTE" "/serviceTwo" + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "net.host.name" "127.0.0.1" + "net.host.port" portTwo + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long } } it.span(5) { diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/groovy/CassandraClientTest.groovy b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/groovy/CassandraClientTest.groovy index 6a94fa8b3de2..858d7c9c79be 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/groovy/CassandraClientTest.groovy +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/groovy/CassandraClientTest.groovy @@ -147,9 +147,9 @@ class CassandraClientTest extends AgentInstrumentationSpecification { childOf((SpanData) parentSpan) } attributes { - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" cassandraPort "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" cassandraPort "$SemanticAttributes.DB_SYSTEM" "cassandra" "$SemanticAttributes.DB_NAME" keyspace "$SemanticAttributes.DB_STATEMENT" statement diff --git a/instrumentation/cassandra/cassandra-4.0/javaagent/src/test/groovy/CassandraClientTest.groovy b/instrumentation/cassandra/cassandra-4.0/javaagent/src/test/groovy/CassandraClientTest.groovy index 0d5f345082a8..9f615175515d 100644 --- a/instrumentation/cassandra/cassandra-4.0/javaagent/src/test/groovy/CassandraClientTest.groovy +++ b/instrumentation/cassandra/cassandra-4.0/javaagent/src/test/groovy/CassandraClientTest.groovy @@ -120,9 +120,9 @@ class CassandraClientTest extends AgentInstrumentationSpecification { childOf((SpanData) parentSpan) } attributes { - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" cassandraPort "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" cassandraPort "$SemanticAttributes.DB_SYSTEM" "cassandra" "$SemanticAttributes.DB_NAME" keyspace "$SemanticAttributes.DB_STATEMENT" statement diff --git a/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy b/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy index 6cc47e47bc76..7ffd00ca489a 100644 --- a/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy +++ b/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy @@ -36,8 +36,9 @@ class CouchbaseSpanUtil { "$SemanticAttributes.NET_TRANSPORT" { it == null || it == IP_TCP } // Because of caching, not all requests hit the server so these attributes may be absent - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == null } - "$SemanticAttributes.NET_PEER_PORT" { it == null || Number } + "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.name" { it == "localhost" || it == null } + "net.sock.peer.port" { it == null || Number } // Because of caching, not all requests hit the server so this tag may be absent "couchbase.local.address" { it == null || String } diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy index 90f1a1dec413..3c8379d6c80e 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy @@ -125,10 +125,10 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl name "ClusterHealthAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.host : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" @@ -243,10 +243,10 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl name "CreateIndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.host : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" @@ -260,10 +260,10 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.host : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" @@ -292,10 +292,10 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl name "IndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.host : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "IndexAction" "elasticsearch.action" "IndexAction" @@ -314,10 +314,10 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy index 6f065708bf77..01ee7567e798 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy @@ -131,10 +131,10 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC kind CLIENT childOf(span(0)) attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" @@ -248,10 +248,10 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC name "CreateIndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" @@ -265,10 +265,10 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" @@ -297,10 +297,10 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC name "IndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "IndexAction" "elasticsearch.action" "IndexAction" @@ -320,10 +320,10 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port - "net.sock.peer.addr" tcpPublishAddress.host != tcpPublishAddress.address ? tcpPublishAddress.address : null "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.host + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" diff --git a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy index 9065777ad651..32c24833e8ce 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy @@ -105,8 +105,10 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl kind CLIENT childOf(span(0)) attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port + "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.address().hostString + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" @@ -223,8 +225,10 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl name "CreateIndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port + "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.address().hostString + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" @@ -238,8 +242,10 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port + "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.address().hostString + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" @@ -268,8 +274,10 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl name "IndexAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port + "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.address().hostString + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "IndexAction" "elasticsearch.action" "IndexAction" @@ -289,8 +297,10 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl name "GetAction" kind CLIENT attributes { - "$SemanticAttributes.NET_PEER_NAME" tcpPublishAddress.address - "$SemanticAttributes.NET_PEER_PORT" tcpPublishAddress.port + "net.sock.family" { it == "inet6" || it == null } + "net.sock.peer.addr" tcpPublishAddress.address + "net.sock.peer.name" tcpPublishAddress.address().hostString + "net.sock.peer.port" tcpPublishAddress.port "$SemanticAttributes.DB_SYSTEM" "elasticsearch" "$SemanticAttributes.DB_OPERATION" "GetAction" "elasticsearch.action" "GetAction" diff --git a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java index f63f6dc27c9f..8c1a1f81040b 100644 --- a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java +++ b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java @@ -196,16 +196,18 @@ public void onCompleted() { equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "Conversation"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly(events.toArray(new Consumer[0])))); testing() .waitAndAssertMetrics( @@ -222,6 +224,8 @@ public void onCompleted() { point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo( SemanticAttributes.RPC_METHOD, "Conversation"), equalTo( diff --git a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java index e37514c98f08..94c5aebab3df 100644 --- a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java +++ b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java @@ -164,16 +164,18 @@ public void sayHello( equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -213,6 +215,8 @@ public void sayHello( point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), equalTo( SemanticAttributes.RPC_SERVICE, @@ -342,16 +346,18 @@ public void sayHello( equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -394,6 +400,8 @@ public void sayHello( point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), equalTo( SemanticAttributes.RPC_SERVICE, @@ -531,16 +539,18 @@ public void onCompleted() { equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -583,6 +593,8 @@ public void onCompleted() { point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), equalTo( SemanticAttributes.RPC_SERVICE, @@ -684,16 +696,18 @@ public void sayHello( equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) status.getCode().value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) status.getCode().value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfying( events -> { assertThat(events).isNotEmpty(); @@ -729,6 +743,8 @@ public void sayHello( point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), equalTo( SemanticAttributes.RPC_SERVICE, @@ -836,16 +852,18 @@ public void sayHello( equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.UNKNOWN.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.UNKNOWN.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfying( events -> { assertThat(events).hasSize(2); @@ -876,6 +894,8 @@ public void sayHello( point -> point.hasAttributesSatisfying( equalTo(SemanticAttributes.NET_TRANSPORT, "ip_tcp"), + equalTo( + SemanticAttributes.NET_HOST_NAME, "localhost"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), equalTo( SemanticAttributes.RPC_SERVICE, @@ -1089,16 +1109,18 @@ public void onCompleted() { equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -1230,16 +1252,18 @@ public void onCompleted() { equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayMultipleHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.CANCELLED.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.CANCELLED.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -1371,16 +1395,18 @@ public void onCompleted() { SemanticAttributes.RPC_SERVICE, "grpc.reflection.v1alpha.ServerReflection"), equalTo(SemanticAttributes.RPC_METHOD, "ServerReflectionInfo"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event @@ -1495,16 +1521,18 @@ public void sayHello( equalTo(SemanticAttributes.RPC_SYSTEM, "grpc"), equalTo(SemanticAttributes.RPC_SERVICE, "example.Greeter"), equalTo(SemanticAttributes.RPC_METHOD, "SayHello"), - equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), - satisfies( - AttributeKey.longKey("net.sock.peer.port"), - val -> assertThat(val).isNotNull()), + equalTo( + SemanticAttributes.RPC_GRPC_STATUS_CODE, + (long) Status.Code.OK.value()), equalTo( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP), - equalTo( - SemanticAttributes.RPC_GRPC_STATUS_CODE, - (long) Status.Code.OK.value())) + equalTo(SemanticAttributes.NET_HOST_NAME, "localhost"), + equalTo(SemanticAttributes.NET_HOST_PORT, server.getPort()), + equalTo(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"), + satisfies( + AttributeKey.longKey("net.sock.peer.port"), + val -> assertThat(val).isNotNull())) .hasEventsSatisfyingExactly( event -> event diff --git a/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy b/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy index 91acbad24ab9..d5768f605846 100644 --- a/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy +++ b/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy @@ -268,8 +268,12 @@ abstract class AbstractJaxRsHttpServerTest extends HttpServerTest implemen hasNoParent() } attributes { + "net.host.name" fullUrl.host + "net.host.port" fullUrl.port "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" || it == null } "$SemanticAttributes.HTTP_SCHEME" fullUrl.getScheme() "$SemanticAttributes.HTTP_HOST" fullUrl.getHost() + ":" + fullUrl.getPort() "$SemanticAttributes.HTTP_TARGET" fullUrl.getPath() + (fullUrl.getQuery() != null ? "?" + fullUrl.getQuery() : "") diff --git a/instrumentation/jedis/jedis-4.0/javaagent/src/test/groovy/Jedis40ClientTest.groovy b/instrumentation/jedis/jedis-4.0/javaagent/src/test/groovy/Jedis40ClientTest.groovy index 94ea0be4cfff..28fed6057bcd 100644 --- a/instrumentation/jedis/jedis-4.0/javaagent/src/test/groovy/Jedis40ClientTest.groovy +++ b/instrumentation/jedis/jedis-4.0/javaagent/src/test/groovy/Jedis40ClientTest.groovy @@ -24,7 +24,7 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { def setupSpec() { redisServer.start() port = redisServer.getMappedPort(6379) - jedis = new Jedis("127.0.0.1", port) + jedis = new Jedis("localhost", port) } def cleanupSpec() { @@ -51,9 +51,10 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET foo ?" "$SemanticAttributes.DB_OPERATION" "SET" - "$SemanticAttributes.NET_PEER_NAME" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port } } } @@ -77,9 +78,10 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET foo ?" "$SemanticAttributes.DB_OPERATION" "SET" - "$SemanticAttributes.NET_PEER_NAME" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port } } } @@ -91,9 +93,10 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET foo" "$SemanticAttributes.DB_OPERATION" "GET" - "$SemanticAttributes.NET_PEER_NAME" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port } } } @@ -117,9 +120,10 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET foo ?" "$SemanticAttributes.DB_OPERATION" "SET" - "$SemanticAttributes.NET_PEER_NAME" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port } } } @@ -131,9 +135,10 @@ class Jedis40ClientTest extends AgentInstrumentationSpecification { "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "RANDOMKEY" "$SemanticAttributes.DB_OPERATION" "RANDOMKEY" - "$SemanticAttributes.NET_PEER_NAME" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port } } } diff --git a/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy b/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy index 6f28adecabef..683576b877fc 100644 --- a/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy +++ b/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy @@ -98,8 +98,12 @@ abstract class BaseJsfTest extends AgentInstrumentationSpecification implements hasNoParent() attributes { "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" "127.0.0.1" "$SemanticAttributes.HTTP_METHOD" "GET" "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:$port" } diff --git a/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationBasicTests.groovy b/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationBasicTests.groovy index f292a4f1a74c..5b793aa7f0ba 100644 --- a/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationBasicTests.groovy +++ b/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationBasicTests.groovy @@ -90,8 +90,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -99,10 +97,14 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP - // Optional "$SemanticAttributes.HTTP_REQUEST_CONTENT_LENGTH" { it == null || it instanceof Long } "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -148,8 +150,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" "$route?$queryString" @@ -157,8 +157,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -200,8 +205,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -209,9 +212,14 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_REQUEST_CONTENT_LENGTH" Long "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -262,8 +270,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { } } attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -271,8 +277,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 500 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -328,8 +339,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -337,8 +346,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -375,8 +389,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -384,8 +396,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -454,8 +471,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { status ERROR errorEvent(JasperException, String) attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -463,8 +478,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 500 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -502,8 +522,6 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" "/$jspWebappContext/$staticFile" @@ -511,8 +529,13 @@ class JspInstrumentationBasicTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } } diff --git a/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationForwardTests.groovy b/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationForwardTests.groovy index 754a23ac7c23..90dce4d1ef61 100644 --- a/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationForwardTests.groovy +++ b/instrumentation/jsp-2.3/javaagent/src/test/groovy/JspInstrumentationForwardTests.groovy @@ -88,8 +88,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -97,8 +95,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -156,8 +159,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -165,8 +166,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -203,8 +209,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -212,8 +216,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -298,8 +307,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { name route kind SERVER attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -307,8 +314,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 200 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -379,8 +391,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { status ERROR errorEvent(JasperException, String) attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -388,8 +398,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 500 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { @@ -439,8 +454,6 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { kind SERVER status UNSET attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" route @@ -448,8 +461,13 @@ class JspInstrumentationForwardTests extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_STATUS_CODE" 404 "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String - "$SemanticAttributes.NET_TRANSPORT" IP_TCP "$SemanticAttributes.HTTP_ROUTE" route + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" } } span(1) { diff --git a/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.groovy b/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.groovy index cb54f0c8722f..f50501dc363e 100644 --- a/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.groovy +++ b/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.groovy @@ -45,9 +45,9 @@ class LettuceReactiveClientTest extends AbstractLettuceReactiveClientTest implem childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET a ?" } @@ -64,9 +64,9 @@ class LettuceReactiveClientTest extends AbstractLettuceReactiveClientTest implem childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET a" } diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.groovy b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.groovy index c956b0c8ff9f..5dbbdbe975a9 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.groovy +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.groovy @@ -160,9 +160,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET TESTSETKEY ?" } @@ -211,9 +211,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET TESTKEY" } @@ -286,9 +286,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati childOf(span(0)) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET NON_EXISTENT_KEY" } @@ -350,9 +350,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati childOf(span(0)) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_STATEMENT" "RANDOMKEY" "$SemanticAttributes.DB_SYSTEM" "redis" } @@ -417,9 +417,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "HMSET TESTHM firstname ? lastname ? age ?" } @@ -437,9 +437,9 @@ abstract class AbstractLettuceAsyncClientTest extends InstrumentationSpecificati kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "HGETALL TESTHM" } diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.groovy b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.groovy index 53de14bf9a09..6227da87cd04 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.groovy +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.groovy @@ -102,9 +102,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf(span(0)) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET TESTSETKEY ?" } @@ -140,9 +140,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET TESTKEY" } @@ -191,9 +191,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf(span(0)) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET NON_EXISTENT_KEY" } @@ -235,9 +235,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_STATEMENT" "RANDOMKEY" "$SemanticAttributes.DB_SYSTEM" "redis" } @@ -264,9 +264,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_STATEMENT" "COMMAND" "$SemanticAttributes.DB_SYSTEM" "redis" } @@ -312,9 +312,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET a ?" } @@ -331,9 +331,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET a" } @@ -370,9 +370,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET a ?" } @@ -389,9 +389,9 @@ abstract class AbstractLettuceReactiveClientTest extends InstrumentationSpecific childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET a" } diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.groovy b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.groovy index db9d2b39af72..7438c9f8f9fc 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.groovy +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.groovy @@ -68,9 +68,9 @@ abstract class AbstractLettuceSyncClientAuthTest extends InstrumentationSpecific kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "AUTH ?" } diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.groovy b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.groovy index fe87c5d80a32..18f4099324ca 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.groovy +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/groovy/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.groovy @@ -124,9 +124,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET TESTSETKEY ?" } @@ -157,9 +157,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" "localhost" "net.sock.peer.addr" "127.0.0.1" - "$SemanticAttributes.NET_PEER_PORT" port + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET TESTSETKEY ?" } @@ -191,9 +191,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET TESTKEY" } @@ -221,9 +221,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET NON_EXISTENT_KEY" } @@ -251,9 +251,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_STATEMENT" "RANDOMKEY" "$SemanticAttributes.DB_SYSTEM" "redis" } @@ -281,9 +281,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "LPUSH TESTLIST ?" } @@ -311,9 +311,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "HMSET user firstname ? lastname ? age ?" } @@ -341,9 +341,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "HGETALL TESTHM" } @@ -376,9 +376,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "EVAL $b64Script 1 TESTLIST ? ?" } @@ -410,9 +410,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio kind CLIENT attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "MSET key1 ? key2 ?" } @@ -440,9 +440,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio // Disconnect not an actual error even though an exception is recorded. attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "DEBUG SEGFAULT" } @@ -476,9 +476,9 @@ abstract class AbstractLettuceSyncClientTest extends InstrumentationSpecificatio } attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" expectedHostAttributeValue - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" expectedHostAttributeValue + "net.sock.peer.port" port "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SHUTDOWN NOSAVE" if (!Boolean.getBoolean("testLatestDeps")) { diff --git a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy index 2166382aa421..4d12f5aad546 100644 --- a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy +++ b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy @@ -389,7 +389,6 @@ abstract class AbstractMongoClientTest extends InstrumentationSpecification { attributes { "$SemanticAttributes.NET_PEER_NAME" "localhost" "$SemanticAttributes.NET_PEER_PORT" port - "net.sock.peer.addr" "127.0.0.1" "$SemanticAttributes.DB_STATEMENT" { statementEval.call(it.replaceAll(" ", "")) } diff --git a/instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy b/instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy index a199eb4d7852..71991eb3ce81 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy +++ b/instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy @@ -15,6 +15,7 @@ import io.opentelemetry.context.Scope import io.opentelemetry.instrumentation.test.AgentTestTrait import io.opentelemetry.instrumentation.test.base.HttpClientTest import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes import spock.lang.AutoCleanup import spock.lang.Shared @@ -128,7 +129,10 @@ class Netty38ClientTest extends HttpClientTest implements AgentTestTrai case "http://192.0.2.1/": // non routable address return [] } - return super.httpAttributes(uri) + def attributes = super.httpAttributes(uri) + attributes.remove(SemanticAttributes.NET_PEER_NAME) + attributes.remove(SemanticAttributes.NET_PEER_PORT) + return attributes } @Override diff --git a/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientSslTest.groovy b/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientSslTest.groovy index eab3a9f3d217..58a6f8ad3bde 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientSslTest.groovy +++ b/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientSslTest.groovy @@ -104,9 +104,9 @@ class Netty40ClientSslTest extends AgentInstrumentationSpecification { errorEventWithAnyMessage(SSLHandshakeException) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" uri.host - "$SemanticAttributes.NET_PEER_PORT" uri.port "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.name" uri.host + "net.sock.peer.port" uri.port } } } @@ -157,9 +157,9 @@ class Netty40ClientSslTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" uri.host - "$SemanticAttributes.NET_PEER_PORT" uri.port "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.name" uri.host + "net.sock.peer.port" uri.port } } span(3) { diff --git a/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientTest.groovy b/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientTest.groovy index 37b5707c2ea3..1fe13741b222 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientTest.groovy +++ b/instrumentation/netty/netty-4.0/javaagent/src/test/groovy/Netty40ClientTest.groovy @@ -23,6 +23,7 @@ import io.opentelemetry.api.common.AttributeKey import io.opentelemetry.instrumentation.test.AgentTestTrait import io.opentelemetry.instrumentation.test.base.HttpClientTest import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes import spock.lang.Shared import java.util.concurrent.CompletableFuture @@ -126,7 +127,10 @@ class Netty40ClientTest extends HttpClientTest implement case "http://192.0.2.1/": // non routable address return [] } - return super.httpAttributes(uri) + def attributes = super.httpAttributes(uri) + attributes.remove(SemanticAttributes.NET_PEER_NAME) + attributes.remove(SemanticAttributes.NET_PEER_PORT) + return attributes } @Override diff --git a/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientSslTest.groovy b/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientSslTest.groovy index 3f760bac6f3d..40de84ee8bf3 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientSslTest.groovy +++ b/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientSslTest.groovy @@ -118,9 +118,9 @@ class Netty41ClientSslTest extends AgentInstrumentationSpecification { errorEventWithAnyMessage(SSLHandshakeException) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" uri.host - "$SemanticAttributes.NET_PEER_PORT" uri.port "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.name" uri.host + "net.sock.peer.port" uri.port } } } @@ -183,9 +183,9 @@ class Netty41ClientSslTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "$SemanticAttributes.NET_PEER_NAME" uri.host - "$SemanticAttributes.NET_PEER_PORT" uri.port "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.name" uri.host + "net.sock.peer.port" uri.port } } span(4) { diff --git a/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientTest.groovy b/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientTest.groovy index 99268b5c84ba..f4a822216d0a 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientTest.groovy +++ b/instrumentation/netty/netty-4.1/javaagent/src/test/groovy/Netty41ClientTest.groovy @@ -31,6 +31,7 @@ import io.opentelemetry.instrumentation.test.base.HttpClientTest import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest import io.opentelemetry.instrumentation.testing.junit.http.SingleConnection import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientTracingHandler +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes import spock.lang.Shared import spock.lang.Unroll @@ -154,7 +155,10 @@ class Netty41ClientTest extends HttpClientTest implement case "https://192.0.2.1/": // non routable address return [] } - return super.httpAttributes(uri) + def attributes = super.httpAttributes(uri) + attributes.remove(SemanticAttributes.NET_PEER_NAME) + attributes.remove(SemanticAttributes.NET_PEER_PORT) + return attributes } @Override diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/RabbitMqTest.groovy b/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/RabbitMqTest.groovy index dd951341523c..6a4ea6d5a6d6 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/RabbitMqTest.groovy +++ b/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/RabbitMqTest.groovy @@ -394,11 +394,9 @@ class RabbitMqTest extends AgentInstrumentationSpecification implements WithRabb } attributes { - // "localhost" on linux, "127.0.0.1" on windows if (spanKind != CONSUMER) { - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" || it == null } + "net.sock.peer.port" Long "net.sock.family" { it == null || it == "inet6" } } diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/ReactorRabbitMqTest.groovy b/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/ReactorRabbitMqTest.groovy index d56fbcee72b8..e9e8012c3d0e 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/ReactorRabbitMqTest.groovy +++ b/instrumentation/rabbitmq-2.7/javaagent/src/test/groovy/ReactorRabbitMqTest.groovy @@ -37,10 +37,8 @@ class ReactorRabbitMqTest extends AgentInstrumentationSpecification implements W name 'exchange.declare' kind SpanKind.CLIENT attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" || it == null } + "net.sock.peer.port" Long "net.sock.family" { it == null || it == "inet6" } "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION_KIND" "queue" diff --git a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/groovy/server/RatpackRoutesTest.groovy b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/groovy/server/RatpackRoutesTest.groovy index d2846e0d0f40..e52bd4f93c1e 100644 --- a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/groovy/server/RatpackRoutesTest.groovy +++ b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/groovy/server/RatpackRoutesTest.groovy @@ -5,7 +5,6 @@ package server - import io.opentelemetry.instrumentation.ratpack.server.AbstractRatpackRoutesTest import io.opentelemetry.instrumentation.test.AgentTestTrait import ratpack.server.RatpackServerSpec diff --git a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackForkedHttpClientTest.java b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackForkedHttpClientTest.java index ed453607a20d..84dee00acc4e 100644 --- a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackForkedHttpClientTest.java +++ b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackForkedHttpClientTest.java @@ -5,13 +5,27 @@ package io.opentelemetry.javaagent.instrumentation.ratpack; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.ratpack.client.AbstractRatpackForkedHttpClientTest; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.HttpClientInstrumentationExtension; +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.URI; +import java.util.HashSet; +import java.util.Set; import org.junit.jupiter.api.extension.RegisterExtension; class RatpackForkedHttpClientTest extends AbstractRatpackForkedHttpClientTest { @RegisterExtension static final InstrumentationExtension testing = HttpClientInstrumentationExtension.forAgent(); + + @Override + protected Set> computeHttpAttributes(URI uri) { + Set> attributes = new HashSet<>(super.computeHttpAttributes(uri)); + // underlying netty instrumentation does not provide these + attributes.remove(SemanticAttributes.NET_PEER_NAME); + attributes.remove(SemanticAttributes.NET_PEER_PORT); + return attributes; + } } diff --git a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackHttpClientTest.java b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackHttpClientTest.java index 13b941a21879..19ec05c26707 100644 --- a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackHttpClientTest.java +++ b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackHttpClientTest.java @@ -5,13 +5,27 @@ package io.opentelemetry.javaagent.instrumentation.ratpack; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.ratpack.client.AbstractRatpackHttpClientTest; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.HttpClientInstrumentationExtension; +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.URI; +import java.util.HashSet; +import java.util.Set; import org.junit.jupiter.api.extension.RegisterExtension; class RatpackHttpClientTest extends AbstractRatpackHttpClientTest { @RegisterExtension static final InstrumentationExtension testing = HttpClientInstrumentationExtension.forAgent(); + + @Override + protected Set> computeHttpAttributes(URI uri) { + Set> attributes = new HashSet<>(super.computeHttpAttributes(uri)); + // underlying netty instrumentation does not provide these + attributes.remove(SemanticAttributes.NET_PEER_NAME); + attributes.remove(SemanticAttributes.NET_PEER_PORT); + return attributes; + } } diff --git a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackPooledHttpClientTest.java b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackPooledHttpClientTest.java index 1b5863d5b0b1..4ebc83c89b26 100644 --- a/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackPooledHttpClientTest.java +++ b/instrumentation/ratpack/ratpack-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/ratpack/RatpackPooledHttpClientTest.java @@ -5,13 +5,27 @@ package io.opentelemetry.javaagent.instrumentation.ratpack; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.ratpack.client.AbstractRatpackPooledHttpClientTest; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.HttpClientInstrumentationExtension; +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; +import java.net.URI; +import java.util.HashSet; +import java.util.Set; import org.junit.jupiter.api.extension.RegisterExtension; class RatpackPooledHttpClientTest extends AbstractRatpackPooledHttpClientTest { @RegisterExtension static final InstrumentationExtension testing = HttpClientInstrumentationExtension.forAgent(); + + @Override + protected Set> computeHttpAttributes(URI uri) { + Set> attributes = new HashSet<>(super.computeHttpAttributes(uri)); + // underlying netty instrumentation does not provide these + attributes.remove(SemanticAttributes.NET_PEER_NAME); + attributes.remove(SemanticAttributes.NET_PEER_PORT); + return attributes; + } } diff --git a/instrumentation/ratpack/ratpack-1.4/testing/src/main/groovy/io/opentelemetry/instrumentation/ratpack/server/AbstractRatpackRoutesTest.groovy b/instrumentation/ratpack/ratpack-1.4/testing/src/main/groovy/io/opentelemetry/instrumentation/ratpack/server/AbstractRatpackRoutesTest.groovy index 7dc4910c903b..7387b8bc3406 100644 --- a/instrumentation/ratpack/ratpack-1.4/testing/src/main/groovy/io/opentelemetry/instrumentation/ratpack/server/AbstractRatpackRoutesTest.groovy +++ b/instrumentation/ratpack/ratpack-1.4/testing/src/main/groovy/io/opentelemetry/instrumentation/ratpack/server/AbstractRatpackRoutesTest.groovy @@ -96,8 +96,13 @@ abstract class AbstractRatpackRoutesTest extends InstrumentationSpecification { hasNoParent() attributes { "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" { it == "localhost" || it == null } + "$SemanticAttributes.NET_HOST_PORT" { it instanceof Long || it == null } "net.sock.peer.addr" { it == "127.0.0.1" || it == null } - "net.sock.peer.port" Long + "net.sock.peer.port" { it instanceof Long || it == null } + "net.sock.host.addr" { it == "127.0.0.1" || it == null } + "net.sock.host.name" { it == "localhost" || it == "127.0.0.1" || it == null } + "net.sock.host.port" { it instanceof Long || it == null } "$SemanticAttributes.HTTP_METHOD" "GET" "$SemanticAttributes.HTTP_STATUS_CODE" 200 diff --git a/instrumentation/ratpack/ratpack-1.4/testing/src/main/java/io/opentelemetry/instrumentation/ratpack/client/AbstractRatpackHttpClientTest.java b/instrumentation/ratpack/ratpack-1.4/testing/src/main/java/io/opentelemetry/instrumentation/ratpack/client/AbstractRatpackHttpClientTest.java index 010bcb1ece39..53d0df256874 100644 --- a/instrumentation/ratpack/ratpack-1.4/testing/src/main/java/io/opentelemetry/instrumentation/ratpack/client/AbstractRatpackHttpClientTest.java +++ b/instrumentation/ratpack/ratpack-1.4/testing/src/main/java/io/opentelemetry/instrumentation/ratpack/client/AbstractRatpackHttpClientTest.java @@ -7,12 +7,14 @@ import io.netty.channel.ConnectTimeoutException; import io.netty.handler.timeout.ReadTimeoutException; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest; import io.opentelemetry.instrumentation.testing.junit.http.HttpClientTestOptions; import java.net.URI; import java.time.Duration; import java.util.Collections; import java.util.Map; +import java.util.Set; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.condition.OS; @@ -139,16 +141,7 @@ protected void configure(HttpClientTestOptions options) { return exception; }); - options.setHttpAttributes( - uri -> { - switch (uri.toString()) { - case "http://localhost:61/": // unopened port - case "https://192.0.2.1/": // non routable address - return Collections.emptySet(); - default: - return HttpClientTestOptions.DEFAULT_HTTP_ATTRIBUTES; - } - }); + options.setHttpAttributes(this::computeHttpAttributes); options.disableTestRedirects(); @@ -157,4 +150,14 @@ protected void configure(HttpClientTestOptions options) { options.enableTestReadTimeout(); } + + protected Set> computeHttpAttributes(URI uri) { + switch (uri.toString()) { + case "http://localhost:61/": // unopened port + case "https://192.0.2.1/": // non routable address + return Collections.emptySet(); + default: + return HttpClientTestOptions.DEFAULT_HTTP_ATTRIBUTES; + } + } } diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/test/groovy/io/opentelemetry/instrumentation/ratpack/server/RatpackRoutesTest.groovy b/instrumentation/ratpack/ratpack-1.7/library/src/test/groovy/io/opentelemetry/instrumentation/ratpack/server/RatpackRoutesTest.groovy index 0498f3bd2171..e714669f29ea 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/test/groovy/io/opentelemetry/instrumentation/ratpack/server/RatpackRoutesTest.groovy +++ b/instrumentation/ratpack/ratpack-1.7/library/src/test/groovy/io/opentelemetry/instrumentation/ratpack/server/RatpackRoutesTest.groovy @@ -5,7 +5,6 @@ package io.opentelemetry.instrumentation.ratpack.server - import io.opentelemetry.instrumentation.ratpack.RatpackTelemetry import io.opentelemetry.instrumentation.test.LibraryTestTrait import ratpack.server.RatpackServerSpec diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-0.9/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/reactornetty/v0_9/AbstractReactorNettyHttpClientTest.groovy b/instrumentation/reactor/reactor-netty/reactor-netty-0.9/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/reactornetty/v0_9/AbstractReactorNettyHttpClientTest.groovy index bd2b38e5c902..42e99ae013f1 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-0.9/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/reactornetty/v0_9/AbstractReactorNettyHttpClientTest.groovy +++ b/instrumentation/reactor/reactor-netty/reactor-netty-0.9/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/reactornetty/v0_9/AbstractReactorNettyHttpClientTest.groovy @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.test.AgentTestTrait import io.opentelemetry.instrumentation.test.base.HttpClientTest import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest import io.opentelemetry.sdk.trace.data.SpanData +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes import reactor.netty.http.client.HttpClient import java.util.concurrent.CountDownLatch @@ -100,7 +101,10 @@ abstract class AbstractReactorNettyHttpClientTest extends HttpClientTest { - // unopened port or non routable address - if ("http://localhost:61/".equals(uri.toString()) - || "https://192.0.2.1/".equals(uri.toString())) { - return emptySet(); - } + options.setHttpAttributes(this::getHttpAttributes); + } - Set> attributes = - new HashSet<>(HttpClientTestOptions.DEFAULT_HTTP_ATTRIBUTES); - if (uri.toString().contains("/read-timeout")) { - attributes.remove(SemanticAttributes.NET_PEER_NAME); - attributes.remove(SemanticAttributes.NET_PEER_PORT); - attributes.remove(SemanticAttributes.HTTP_FLAVOR); - } - return attributes; - }); + protected Set> getHttpAttributes(URI uri) { + // unopened port or non routable address + if ("http://localhost:61/".equals(uri.toString()) + || "https://192.0.2.1/".equals(uri.toString())) { + return emptySet(); + } + + Set> attributes = new HashSet<>(HttpClientTestOptions.DEFAULT_HTTP_ATTRIBUTES); + if (uri.toString().contains("/read-timeout")) { + attributes.remove(SemanticAttributes.NET_PEER_NAME); + attributes.remove(SemanticAttributes.NET_PEER_PORT); + attributes.remove(SemanticAttributes.HTTP_FLAVOR); + } + return attributes; } @Test diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyClientSslTest.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyClientSslTest.java index 962793afc732..ebd77be51e24 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyClientSslTest.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyClientSslTest.java @@ -5,6 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.reactornetty.v1_0; +import static io.opentelemetry.api.common.AttributeKey.longKey; import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.api.trace.SpanKind.CLIENT; import static io.opentelemetry.api.trace.SpanKind.INTERNAL; @@ -92,7 +93,9 @@ void shouldFailSslHandshake() throws SSLException { .hasEventsSatisfying(ReactorNettyClientSslTest::isSslHandshakeException) .hasAttributesSatisfyingExactly( equalTo(SemanticAttributes.HTTP_METHOD, "GET"), - equalTo(SemanticAttributes.HTTP_URL, uri)), + equalTo(SemanticAttributes.HTTP_URL, uri), + equalTo(SemanticAttributes.NET_PEER_NAME, "localhost"), + equalTo(SemanticAttributes.NET_PEER_PORT, server.httpsPort())), span -> span.hasName("RESOLVE") .hasKind(INTERNAL) @@ -120,9 +123,9 @@ void shouldFailSslHandshake() throws SSLException { .hasEventsSatisfying(ReactorNettyClientSslTest::isSslHandshakeException) .hasAttributesSatisfyingExactly( equalTo(SemanticAttributes.NET_TRANSPORT, IP_TCP), - equalTo(SemanticAttributes.NET_PEER_NAME, "localhost"), - equalTo(SemanticAttributes.NET_PEER_PORT, server.httpsPort()), - equalTo(stringKey("net.sock.peer.addr"), "127.0.0.1")))); + equalTo(stringKey("net.sock.peer.addr"), "127.0.0.1"), + equalTo(stringKey("net.sock.peer.name"), "localhost"), + equalTo(longKey("net.sock.peer.port"), server.httpsPort())))); } @Test @@ -184,9 +187,9 @@ void shouldSuccessfullyEstablishSslHandshake() throws SSLException { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(SemanticAttributes.NET_TRANSPORT, IP_TCP), - equalTo(SemanticAttributes.NET_PEER_NAME, "localhost"), - equalTo(SemanticAttributes.NET_PEER_PORT, server.httpsPort()), - equalTo(stringKey("net.sock.peer.addr"), "127.0.0.1")), + equalTo(stringKey("net.sock.peer.addr"), "127.0.0.1"), + equalTo(stringKey("net.sock.peer.name"), "localhost"), + equalTo(longKey("net.sock.peer.port"), server.httpsPort())), span -> span.hasName("test-http-server").hasKind(SERVER).hasParent(trace.getSpan(1)))); } diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyConnectionSpanTest.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyConnectionSpanTest.java index 8da1c1cd61de..1eadacd3d9ea 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyConnectionSpanTest.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyConnectionSpanTest.java @@ -153,7 +153,9 @@ void testFailingRequest() { .hasException(connectException) .hasAttributesSatisfyingExactly( equalTo(SemanticAttributes.HTTP_METHOD, "GET"), - equalTo(SemanticAttributes.HTTP_URL, uri)), + equalTo(SemanticAttributes.HTTP_URL, uri), + equalTo(SemanticAttributes.NET_PEER_NAME, "localhost"), + equalTo(SemanticAttributes.NET_PEER_PORT, PortUtils.UNUSABLE_PORT)), span -> span.hasName("RESOLVE") .hasKind(INTERNAL) @@ -172,6 +174,8 @@ void testFailingRequest() { equalTo(SemanticAttributes.NET_TRANSPORT, IP_TCP), equalTo(SemanticAttributes.NET_PEER_NAME, "localhost"), equalTo(SemanticAttributes.NET_PEER_PORT, PortUtils.UNUSABLE_PORT), - equalTo(stringKey("net.sock.peer.addr"), "127.0.0.1")))); + satisfies( + stringKey("net.sock.peer.addr"), + val -> val.isIn(null, "127.0.0.1"))))); } } diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyHttpClientTest.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyHttpClientTest.java index 9fe4971bc058..02b368fd23e7 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyHttpClientTest.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyHttpClientTest.java @@ -6,8 +6,13 @@ package io.opentelemetry.javaagent.instrumentation.reactornetty.v1_0; import io.netty.channel.ChannelOption; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.testing.junit.http.HttpClientTestOptions; +import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.opentelemetry.testing.internal.armeria.common.HttpHeaderNames; +import java.net.URI; +import java.util.HashSet; +import java.util.Set; import reactor.netty.http.client.HttpClient; class ReactorNettyHttpClientTest extends AbstractReactorNettyHttpClientTest { @@ -48,4 +53,18 @@ protected void configure(HttpClientTestOptions options) { .code(); }); } + + @Override + protected Set> getHttpAttributes(URI uri) { + if (uri.toString().contains("/success")) { + // the single connection test does not report net.peer.* attributes; it only reports the + // net.peer.sock.* attributes + Set> attributes = + new HashSet<>(HttpClientTestOptions.DEFAULT_HTTP_ATTRIBUTES); + attributes.remove(SemanticAttributes.NET_PEER_NAME); + attributes.remove(SemanticAttributes.NET_PEER_PORT); + return attributes; + } + return super.getHttpAttributes(uri); + } } diff --git a/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonAsyncClientTest.groovy b/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonAsyncClientTest.groovy index a6fdb2e60222..0e80fd983a7f 100644 --- a/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonAsyncClientTest.groovy +++ b/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonAsyncClientTest.groovy @@ -78,10 +78,10 @@ abstract class AbstractRedissonAsyncClientTest extends AgentInstrumentationSpeci name "SET" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET foo ?" "$SemanticAttributes.DB_OPERATION" "SET" } @@ -118,10 +118,10 @@ abstract class AbstractRedissonAsyncClientTest extends AgentInstrumentationSpeci kind CLIENT childOf(span(0)) attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SADD set1 ?" "$SemanticAttributes.DB_OPERATION" "SADD" } diff --git a/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonClientTest.groovy b/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonClientTest.groovy index 40a2163073d8..d8b79b39f13b 100644 --- a/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonClientTest.groovy +++ b/instrumentation/redisson/redisson-common/testing/src/main/groovy/AbstractRedissonClientTest.groovy @@ -77,10 +77,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "SET" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET foo ?" "$SemanticAttributes.DB_OPERATION" "SET" } @@ -91,10 +91,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "GET" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "GET foo" "$SemanticAttributes.DB_OPERATION" "GET" } @@ -117,10 +117,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "DB Query" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SET batch1 ?;SET batch2 ?" "$SemanticAttributes.DB_OPERATION" null } @@ -141,10 +141,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "RPUSH" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "RPUSH list1 ?" "$SemanticAttributes.DB_OPERATION" "RPUSH" } @@ -168,10 +168,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "EVAL" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "EVAL $script 1 map1 ? ?" "$SemanticAttributes.DB_OPERATION" "EVAL" } @@ -182,10 +182,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "HGET" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "HGET map1 key1" "$SemanticAttributes.DB_OPERATION" "HGET" } @@ -206,10 +206,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "SADD" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "SADD set1 ?" "$SemanticAttributes.DB_OPERATION" "SADD" } @@ -234,10 +234,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "ZADD" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "ZADD sort_set1 ? ? ? ? ? ?" "$SemanticAttributes.DB_OPERATION" "ZADD" } @@ -258,10 +258,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "INCR" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" "INCR AtomicLong" "$SemanticAttributes.DB_OPERATION" "INCR" } @@ -287,10 +287,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "EVAL" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" { lockScriptPattern.matcher(it).matches() } "$SemanticAttributes.DB_OPERATION" "EVAL" } @@ -303,10 +303,10 @@ abstract class AbstractRedissonClientTest extends AgentInstrumentationSpecificat name "EVAL" kind CLIENT attributes { - "$SemanticAttributes.DB_SYSTEM" "redis" - "$SemanticAttributes.NET_PEER_NAME" "localhost" - "$SemanticAttributes.NET_PEER_PORT" port "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.name" "localhost" + "net.sock.peer.port" port + "$SemanticAttributes.DB_SYSTEM" "redis" "$SemanticAttributes.DB_STATEMENT" { lockScriptPattern.matcher(it).matches() } "$SemanticAttributes.DB_OPERATION" "EVAL" } diff --git a/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy b/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy index 3395cc74e68c..1257c6e9e8d0 100644 --- a/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy +++ b/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy @@ -47,9 +47,6 @@ class SparkJavaBasedTest extends AgentInstrumentationSpecification { kind SERVER hasNoParent() attributes { - "$SemanticAttributes.NET_TRANSPORT" IP_TCP - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" "localhost:$port" "$SemanticAttributes.HTTP_TARGET" "/param/asdf1234" @@ -58,6 +55,13 @@ class SparkJavaBasedTest extends AgentInstrumentationSpecification { "$SemanticAttributes.HTTP_FLAVOR" "1.1" "$SemanticAttributes.HTTP_USER_AGENT" String "$SemanticAttributes.HTTP_ROUTE" "/param/:param" + "$SemanticAttributes.NET_TRANSPORT" IP_TCP + "$SemanticAttributes.NET_HOST_NAME" "localhost" + "$SemanticAttributes.NET_HOST_PORT" port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" "127.0.0.1" } } } diff --git a/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy b/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy index 96cf998ce7e0..67ef09e2b9ba 100644 --- a/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy +++ b/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy @@ -46,10 +46,8 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i childOf span(1) kind CLIENT attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" || it == null } + "net.sock.peer.port" Long "net.sock.family" { it == null || it == "inet6" } "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION_KIND" "queue" @@ -61,10 +59,8 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i childOf span(1) kind PRODUCER attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" || it == null } + "net.sock.peer.port" Long "net.sock.family" { it == null || it == "inet6" } "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION" "testTopic" @@ -117,10 +113,8 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i name "basic.ack" kind CLIENT attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == "0:0:0:0:0:0:0:1" || it == null } + "net.sock.peer.port" Long "net.sock.family" { it == null || it == "inet6" } "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION_KIND" "queue" diff --git a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/groovy/ContextPropagationTest.groovy b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/groovy/ContextPropagationTest.groovy index e69fc60bbd38..cdb076e92493 100644 --- a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/groovy/ContextPropagationTest.groovy +++ b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/groovy/ContextPropagationTest.groovy @@ -100,10 +100,8 @@ class ContextPropagationTest extends AgentInstrumentationSpecification { kind PRODUCER childOf span(0) attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.port" Long "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION" "" "$SemanticAttributes.MESSAGING_DESTINATION_KIND" "queue" @@ -160,10 +158,8 @@ class ContextPropagationTest extends AgentInstrumentationSpecification { name "basic.ack" kind CLIENT attributes { - // "localhost" on linux, "127.0.0.1" on windows - "$SemanticAttributes.NET_PEER_NAME" { it == "localhost" || it == "127.0.0.1" } - "$SemanticAttributes.NET_PEER_PORT" Long "net.sock.peer.addr" { it == "127.0.0.1" || it == null } + "net.sock.peer.port" Long "$SemanticAttributes.MESSAGING_SYSTEM" "rabbitmq" "$SemanticAttributes.MESSAGING_DESTINATION_KIND" "queue" } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy index 8368933ee666..a9588d7d4328 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy @@ -83,6 +83,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath "$SemanticAttributes.HTTP_METHOD" "GET" @@ -151,6 +154,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath "$SemanticAttributes.HTTP_METHOD" "GET" @@ -239,6 +245,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath "$SemanticAttributes.HTTP_METHOD" "GET" @@ -305,6 +314,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/notfoundgreet" "$SemanticAttributes.HTTP_METHOD" "GET" @@ -350,6 +362,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/echo" "$SemanticAttributes.HTTP_METHOD" "POST" @@ -400,6 +415,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath "$SemanticAttributes.HTTP_METHOD" "GET" @@ -465,6 +483,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/double-greet-redirect" "$SemanticAttributes.HTTP_METHOD" "GET" @@ -498,6 +519,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/double-greet" "$SemanticAttributes.HTTP_METHOD" "GET" @@ -546,6 +570,9 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath "$SemanticAttributes.HTTP_METHOD" "GET" diff --git a/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy b/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy index 95931cdaad3c..2bb8f491da5d 100644 --- a/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy +++ b/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy @@ -138,8 +138,6 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr } attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_CLIENT_IP" TEST_CLIENT_IP "$SemanticAttributes.HTTP_SCHEME" uri.getScheme() "$SemanticAttributes.HTTP_HOST" uri.getHost() + ":" + uri.getPort() @@ -153,6 +151,12 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_TARGET" "/sendResponse" "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "$SemanticAttributes.NET_HOST_NAME" uri.host + "$SemanticAttributes.NET_HOST_PORT" uri.port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" "127.0.0.1" } } span(1) { @@ -191,8 +195,6 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr errorEvent(Exception, "exception after sending response", 2) attributes { - "net.sock.peer.addr" "127.0.0.1" - "net.sock.peer.port" Long "$SemanticAttributes.HTTP_CLIENT_IP" TEST_CLIENT_IP "$SemanticAttributes.HTTP_SCHEME" uri.getScheme() "$SemanticAttributes.HTTP_HOST" uri.getHost() + ":" + uri.getPort() @@ -206,6 +208,12 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_TARGET" "/sendResponseWithException" "$SemanticAttributes.NET_TRANSPORT" SemanticAttributes.NetTransportValues.IP_TCP + "$SemanticAttributes.NET_HOST_NAME" uri.host + "$SemanticAttributes.NET_HOST_PORT" uri.port + "net.sock.peer.addr" "127.0.0.1" + "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" "127.0.0.1" } } span(1) { diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy index 83d2150fe6fa..83445162773e 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy @@ -66,6 +66,9 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/listProducts" "$SemanticAttributes.HTTP_METHOD" "GET" @@ -157,6 +160,9 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "$baseUrl?$TEST_REQUEST_ID_PARAMETER=$requestId" "$SemanticAttributes.HTTP_METHOD" "GET" diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy index 83d2150fe6fa..83445162773e 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy @@ -66,6 +66,9 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/listProducts" "$SemanticAttributes.HTTP_METHOD" "GET" @@ -157,6 +160,9 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "$SemanticAttributes.NET_TRANSPORT" IP_TCP "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long + "net.sock.host.addr" "127.0.0.1" + "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } + "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "$baseUrl?$TEST_REQUEST_ID_PARAMETER=$requestId" "$SemanticAttributes.HTTP_METHOD" "GET" diff --git a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy index 6db401d956e8..8f00aa6cfed0 100644 --- a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy +++ b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy @@ -199,6 +199,9 @@ abstract class HttpServerTest extends InstrumentationSpecification imple options.hasExceptionOnServerSpan = { endpoint -> HttpServerTest.this.hasExceptionOnServerSpan(endpoint) } + options.sockPeerAddr = { endpoint -> + HttpServerTest.this.peerIp(endpoint) + } options.testRedirect = testRedirect() options.testError = testError() diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java index 911042ffd414..5aad78a2c5fc 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java @@ -6,6 +6,7 @@ package io.opentelemetry.instrumentation.testing.junit.http; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static org.assertj.core.api.Assertions.catchThrowable; import static org.junit.jupiter.api.Assumptions.assumeTrue; @@ -912,10 +913,14 @@ SpanDataAssert assertClientSpan( .hasKind(SpanKind.CLIENT) .hasAttributesSatisfying( attrs -> { + // TODO: Move to test knob rather than always treating as optional + if (attrs.get(SemanticAttributes.NET_TRANSPORT) != null) { + assertThat(attrs).containsEntry(SemanticAttributes.NET_TRANSPORT, IP_TCP); + } + if (uri.getPort() == PortUtils.UNUSABLE_PORT || uri.getHost().equals("192.0.2.1")) { - // TODO(anuraaga): For theses cases, there isn't actually a peer so we shouldn't be - // filling in peer information but some instrumentation does so based on the URL - // itself which is present in HTTP attributes. We should fix this. + // TODO: net.peer.name and net.peer.port should always be populated from the URI or + // the Host header, verify these assertions below if (attrs.asMap().containsKey(SemanticAttributes.NET_PEER_NAME)) { assertThat(attrs).containsEntry(SemanticAttributes.NET_PEER_NAME, uri.getHost()); } @@ -937,6 +942,17 @@ SpanDataAssert assertClientSpan( }); } } + + // In theses cases the peer connection is not established, so the HTTP client should + // not report any socket-level attributes + // TODO https://github.com/open-telemetry/opentelemetry-java/pull/4723 + assertThat(attrs.asMap()) + .doesNotContainKey(AttributeKey.stringKey("net.sock.family")) + // TODO netty sometimes reports net.sock.peer.addr in connection error test + // .doesNotContainKey(AttributeKey.stringKey("net.sock.peer.addr")) + .doesNotContainKey(AttributeKey.stringKey("net.sock.peer.name")) + .doesNotContainKey(AttributeKey.stringKey("net.sock.peer.port")); + } else { if (httpClientAttributes.contains(SemanticAttributes.NET_PEER_NAME)) { assertThat(attrs).containsEntry(SemanticAttributes.NET_PEER_NAME, uri.getHost()); @@ -944,19 +960,18 @@ SpanDataAssert assertClientSpan( if (httpClientAttributes.contains(SemanticAttributes.NET_PEER_PORT)) { assertThat(attrs).containsEntry(SemanticAttributes.NET_PEER_PORT, uri.getPort()); } - } - // TODO(anuraaga): Move to test knob rather than always treating as optional - if (attrs.asMap().containsKey(AttributeKey.stringKey("net.sock.peer.addr"))) { - if (uri.getHost().equals("192.0.2.1")) { - // NB(anuraaga): This branch seems to currently only be exercised on Java 15. - // It would be good to understand how the JVM version is impacting this check. - assertThat(attrs) - .containsEntry(AttributeKey.stringKey("net.sock.peer.addr"), "192.0.2.1"); - } else { + // TODO: Move to test knob rather than always treating as optional + if (attrs.asMap().containsKey(AttributeKey.stringKey("net.sock.peer.addr"))) { assertThat(attrs) .containsEntry(AttributeKey.stringKey("net.sock.peer.addr"), "127.0.0.1"); } + if (attrs.asMap().containsKey(AttributeKey.stringKey("net.sock.peer.port"))) { + assertThat(attrs) + .containsEntry( + AttributeKey.longKey("net.sock.peer.port"), + "https".equals(uri.getScheme()) ? server.httpsPort() : server.httpPort()); + } } if (httpClientAttributes.contains(SemanticAttributes.HTTP_URL)) { diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpServerTest.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpServerTest.java index 4c14cd588737..34626a340041 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpServerTest.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpServerTest.java @@ -551,7 +551,15 @@ protected SpanDataAssert assertServerSpan( .containsEntry( SemanticAttributes.NET_TRANSPORT, SemanticAttributes.NetTransportValues.IP_TCP); } - if (httpAttributes.contains(AttributeKey.longKey("net.sock.peer.port"))) { + + // TODO: Move to test knob rather than always treating as optional + if (attrs.get(SemanticAttributes.NET_HOST_NAME) != null) { + assertThat(attrs).containsEntry(SemanticAttributes.NET_HOST_NAME, "localhost"); + } + if (attrs.get(SemanticAttributes.NET_HOST_PORT) != null) { + assertThat(attrs).containsEntry(SemanticAttributes.NET_HOST_PORT, port); + } + if (attrs.get(AttributeKey.longKey("net.sock.peer.port")) != null) { assertThat(attrs) .hasEntrySatisfying( AttributeKey.longKey("net.sock.peer.port"), @@ -560,12 +568,16 @@ protected SpanDataAssert assertServerSpan( .isInstanceOf(Long.class) .isNotEqualTo(Long.valueOf(port))); } - if (httpAttributes.contains(AttributeKey.stringKey("net.sock.peer.addr"))) { + if (attrs.get(AttributeKey.stringKey("net.sock.peer.addr")) != null) { assertThat(attrs) .containsEntry( AttributeKey.stringKey("net.sock.peer.addr"), options.sockPeerAddr.apply(endpoint)); } + if (attrs.get(AttributeKey.stringKey("net.sock.host.addr")) != null) { + assertThat(attrs) + .containsEntry(AttributeKey.stringKey("net.sock.host.addr"), "127.0.0.1"); + } assertThat(attrs) .hasEntrySatisfying( From 47b0731140c731cec32a9ea798a05089df67a7b3 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Wed, 31 Aug 2022 10:31:04 +0200 Subject: [PATCH 4/7] Remove net.sock.host.name --- .../InetSocketAddressNetServerAttributesGetter.java | 10 ---------- .../api/instrumenter/net/NetAttributes.java | 2 -- .../instrumenter/net/NetServerAttributesExtractor.java | 5 ----- .../instrumenter/net/NetServerAttributesGetter.java | 3 --- ...InetSocketAddressNetServerAttributesGetterTest.java | 1 - .../net/NetServerAttributesExtractorTest.java | 10 ---------- .../instrumentation/apachecamel/RestCamelTest.groovy | 1 - .../grizzly/GrizzlyNetAttributesGetter.java | 6 ------ .../src/main/groovy/AbstractJaxRsHttpServerTest.groovy | 1 - .../testing/src/main/groovy/BaseJsfTest.groovy | 1 - .../ktor/v1_0/KtorNetServerAttributesGetter.kt | 4 ---- .../ktor/v2_0/KtorNetServerAttributesGetter.kt | 4 ---- .../LibertyDispatcherNetAttributesGetter.java | 6 ------ .../ratpack/server/AbstractRatpackRoutesTest.groovy | 2 -- .../ratpack/internal/RatpackNetAttributesGetter.java | 6 ------ .../restlet/v1_0/RestletNetAttributesGetter.java | 6 ------ .../v2_0/internal/RestletNetAttributesGetter.java | 6 ------ .../instrumentation/servlet/v2_2/Servlet2Accessor.java | 5 ----- .../instrumentation/servlet/v3_0/Servlet3Accessor.java | 5 ----- .../instrumentation/servlet/v5_0/Servlet5Accessor.java | 5 ----- .../instrumentation/servlet/ServletAccessor.java | 2 -- .../servlet/ServletNetAttributesGetter.java | 6 ------ .../src/test/groovy/SparkJavaBasedTest.groovy | 1 - .../javaagent/src/test/groovy/SpringWebfluxTest.groovy | 9 --------- .../webmvc/v5_3/SpringWebMvcNetAttributesGetter.java | 6 ------ .../tomcat/common/TomcatNetAttributesGetter.java | 7 ------- .../src/test/groovy/UndertowServerTest.groovy | 2 -- .../groovy/VertxReactivePropagationTest.groovy | 2 -- .../groovy/VertxReactivePropagationTest.groovy | 2 -- 29 files changed, 126 deletions(-) diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java index 0420a06e41f7..2edf4aca44cf 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java @@ -62,16 +62,6 @@ public String sockHostAddr(REQUEST request) { return getAddress(getHostAddress(request)); } - @Nullable - @Override - public String sockHostName(REQUEST request) { - InetSocketAddress address = getHostAddress(request); - if (address == null) { - return null; - } - return address.getHostString(); - } - @Nullable @Override public Integer sockHostPort(REQUEST request) { diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java index 6f8c449cacff..9bfefe1e10d5 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetAttributes.java @@ -18,8 +18,6 @@ final class NetAttributes { static final AttributeKey NET_SOCK_PEER_PORT = AttributeKey.longKey("net.sock.peer.port"); static final AttributeKey NET_SOCK_HOST_ADDR = AttributeKey.stringKey("net.sock.host.addr"); - static final AttributeKey NET_SOCK_HOST_NAME = - AttributeKey.stringKey("net.sock.host.name"); static final AttributeKey NET_SOCK_HOST_PORT = AttributeKey.longKey("net.sock.host.port"); static final String SOCK_FAMILY_INET = "inet"; diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java index c0c06d48a5eb..9ae5c4ae33e2 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractor.java @@ -71,11 +71,6 @@ public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST if (sockHostPort != null && sockHostPort > 0 && !sockHostPort.equals(hostPort)) { internalSet(attributes, NetAttributes.NET_SOCK_HOST_PORT, (long) sockHostPort); } - - String sockHostName = getter.sockHostName(request); - if (sockHostName != null && !sockHostName.equals(hostName)) { - internalSet(attributes, NetAttributes.NET_SOCK_HOST_NAME, sockHostName); - } } if (setSockFamily) { diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java index eb41083702cc..d5bd267106e5 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java @@ -38,9 +38,6 @@ public interface NetServerAttributesGetter { @Nullable String sockHostAddr(REQUEST request); - @Nullable - String sockHostName(REQUEST request); - @Nullable Integer sockHostPort(REQUEST request); } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java index 30681f852d3c..2924b769a870 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java @@ -90,7 +90,6 @@ void fullAddress() { builder.put(NetAttributes.NET_SOCK_PEER_ADDR, request.peer.getAddress().getHostAddress()); builder.put(NetAttributes.NET_SOCK_PEER_PORT, 123L); builder.put(NetAttributes.NET_SOCK_HOST_ADDR, request.host.getAddress().getHostAddress()); - builder.put(NetAttributes.NET_SOCK_HOST_NAME, "api.github.com"); builder.put(NetAttributes.NET_SOCK_HOST_PORT, 456L); assertThat(startAttributes.build()).isEqualTo(builder.build()); diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java index 519ccbbda75d..fb4712e00e39 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesExtractorTest.java @@ -66,12 +66,6 @@ public String sockHostAddr(Map request) { return request.get("sockHostAddr"); } - @Nullable - @Override - public String sockHostName(Map request) { - return request.get("sockHostName"); - } - @Nullable @Override public Integer sockHostPort(Map request) { @@ -94,7 +88,6 @@ void normal() { map.put("sockPeerAddr", "1:2:3:4::"); map.put("sockPeerPort", "42"); map.put("sockHostAddr", "4:3:2:1::"); - map.put("sockHostName", "localhost"); map.put("sockHostPort", "8080"); Context context = Context.root(); @@ -116,7 +109,6 @@ void normal() { entry(NetAttributes.NET_SOCK_PEER_ADDR, "1:2:3:4::"), entry(NetAttributes.NET_SOCK_PEER_PORT, 42L), entry(NetAttributes.NET_SOCK_HOST_ADDR, "4:3:2:1::"), - entry(NetAttributes.NET_SOCK_HOST_NAME, "localhost"), entry(NetAttributes.NET_SOCK_HOST_PORT, 8080L)); assertThat(endAttributes.build()).isEmpty(); @@ -150,7 +142,6 @@ void doesNotSetDuplicates1() { map.put("hostPort", "80"); map.put("sockFamily", "inet6"); map.put("sockHostAddr", "4:3:2:1::"); - map.put("sockHostName", "localhost"); map.put("sockHostPort", "8080"); Context context = Context.root(); @@ -183,7 +174,6 @@ void doesNotSetDuplicates2() { map.put("hostPort", "80"); map.put("sockFamily", "inet6"); map.put("sockHostAddr", "4:3:2:1::"); - map.put("sockHostName", "opentelemetry.io"); map.put("sockHostPort", "80"); Context context = Context.root(); diff --git a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy index 46153629f145..142af24aed5b 100644 --- a/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy +++ b/instrumentation/apache-camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/RestCamelTest.groovy @@ -101,7 +101,6 @@ class RestCamelTest extends AgentInstrumentationSpecification implements RetryOn "net.host.port" port "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long - "net.sock.host.name" String "net.sock.host.addr" "127.0.0.1" } } diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java index 9a3e81cfaebf..12ff6452aeb1 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java @@ -54,12 +54,6 @@ public String sockHostAddr(HttpRequestPacket request) { return request.getLocalAddress(); } - @Nullable - @Override - public String sockHostName(HttpRequestPacket request) { - return null; - } - @Override public Integer sockHostPort(HttpRequestPacket request) { return request.getLocalPort(); diff --git a/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy b/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy index d5768f605846..f67fa2a23bfe 100644 --- a/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy +++ b/instrumentation/jaxrs/jaxrs-common/testing/src/main/groovy/AbstractJaxRsHttpServerTest.groovy @@ -273,7 +273,6 @@ abstract class AbstractJaxRsHttpServerTest extends HttpServerTest implemen "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" || it == null } "$SemanticAttributes.HTTP_SCHEME" fullUrl.getScheme() "$SemanticAttributes.HTTP_HOST" fullUrl.getHost() + ":" + fullUrl.getPort() "$SemanticAttributes.HTTP_TARGET" fullUrl.getPath() + (fullUrl.getQuery() != null ? "?" + fullUrl.getQuery() : "") diff --git a/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy b/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy index 683576b877fc..1f39b4b39448 100644 --- a/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy +++ b/instrumentation/jsf/jsf-common/testing/src/main/groovy/BaseJsfTest.groovy @@ -103,7 +103,6 @@ abstract class BaseJsfTest extends AgentInstrumentationSpecification implements "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" "127.0.0.1" "$SemanticAttributes.HTTP_METHOD" "GET" "$SemanticAttributes.HTTP_SCHEME" "http" "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:$port" } diff --git a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt index 3e80bf48802b..e2ab690ba485 100644 --- a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt +++ b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt @@ -43,10 +43,6 @@ internal class KtorNetServerAttributesGetter : NetServerAttributesGetter { Integer getRequestRemotePort(REQUEST request); - String getRequestLocalName(REQUEST request); - String getRequestLocalAddr(REQUEST request); Integer getRequestLocalPort(REQUEST request); diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java index 18721f06bc63..6fef21ba1b25 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java @@ -60,12 +60,6 @@ public String sockHostAddr(ServletRequestContext requestContext) { return accessor.getRequestLocalAddr(requestContext.request()); } - @Nullable - @Override - public String sockHostName(ServletRequestContext requestContext) { - return accessor.getRequestLocalName(requestContext.request()); - } - @Nullable @Override public Integer sockHostPort(ServletRequestContext requestContext) { diff --git a/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy b/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy index 1257c6e9e8d0..d95809f0927e 100644 --- a/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy +++ b/instrumentation/spark-2.3/javaagent/src/test/groovy/SparkJavaBasedTest.groovy @@ -61,7 +61,6 @@ class SparkJavaBasedTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" "127.0.0.1" } } } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy index a9588d7d4328..9793d8bf97e6 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/SpringWebfluxTest.groovy @@ -84,7 +84,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath @@ -155,7 +154,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath @@ -246,7 +244,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath @@ -315,7 +312,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/notfoundgreet" @@ -363,7 +359,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/echo" @@ -416,7 +411,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath @@ -484,7 +478,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/double-greet-redirect" @@ -520,7 +513,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/double-greet" @@ -571,7 +563,6 @@ class SpringWebfluxTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" urlPath diff --git a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java index c1320f2301ea..23e9a370e45e 100644 --- a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java +++ b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java @@ -52,12 +52,6 @@ public String sockHostAddr(HttpServletRequest request) { return request.getLocalAddr(); } - @Nullable - @Override - public String sockHostName(HttpServletRequest request) { - return request.getLocalName(); - } - @Override public Integer sockHostPort(HttpServletRequest request) { return request.getLocalPort(); diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java index e950b66e836f..250366d679a8 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java @@ -57,13 +57,6 @@ public String sockHostAddr(Request request) { return request.localAddr().toString(); } - @Nullable - @Override - public String sockHostName(Request request) { - request.action(ActionCode.REQ_LOCAL_NAME_ATTRIBUTE, request); - return request.localName().toString(); - } - @Nullable @Override public Integer sockHostPort(Request request) { diff --git a/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy b/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy index 2bb8f491da5d..27a27514449a 100644 --- a/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy +++ b/instrumentation/undertow-1.4/javaagent/src/test/groovy/UndertowServerTest.groovy @@ -156,7 +156,6 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" "127.0.0.1" } } span(1) { @@ -213,7 +212,6 @@ class UndertowServerTest extends HttpServerTest implements AgentTestTr "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" "127.0.0.1" } } span(1) { diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy index 83445162773e..051c093a632a 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy @@ -67,7 +67,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/listProducts" @@ -161,7 +160,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "$baseUrl?$TEST_REQUEST_ID_PARAMETER=$requestId" diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy index 83445162773e..051c093a632a 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy @@ -67,7 +67,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "/listProducts" @@ -161,7 +160,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { "net.sock.peer.addr" "127.0.0.1" "net.sock.peer.port" Long "net.sock.host.addr" "127.0.0.1" - "net.sock.host.name" { it == "127.0.0.1" || it == "localhost" } "net.sock.host.port" Long "$SemanticAttributes.HTTP_HOST" { it == "localhost" || it == "localhost:${port}" } "$SemanticAttributes.HTTP_TARGET" "$baseUrl?$TEST_REQUEST_ID_PARAMETER=$requestId" From 2957133c03ae8fced09e5338d4ed12cb0c7814a0 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Wed, 31 Aug 2022 10:36:15 +0200 Subject: [PATCH 5/7] code review comments --- .../dropwizard-testing/src/test/groovy/DropwizardTest.groovy | 2 +- .../instrumentation/test/base/HttpServerTest.groovy | 4 ++-- .../testing/junit/http/AbstractHttpClientTest.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/instrumentation/dropwizard/dropwizard-testing/src/test/groovy/DropwizardTest.groovy b/instrumentation/dropwizard/dropwizard-testing/src/test/groovy/DropwizardTest.groovy index b2d7e924ae70..a121252656d3 100644 --- a/instrumentation/dropwizard/dropwizard-testing/src/test/groovy/DropwizardTest.groovy +++ b/instrumentation/dropwizard/dropwizard-testing/src/test/groovy/DropwizardTest.groovy @@ -63,7 +63,7 @@ class DropwizardTest extends HttpServerTest implements Ag // this override is needed because dropwizard reports peer ip as the client ip @Override - String peerIp(ServerEndpoint endpoint) { + String sockPeerAddr(ServerEndpoint endpoint) { TEST_CLIENT_IP } diff --git a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy index 8f00aa6cfed0..f4545fb9c6cc 100644 --- a/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy +++ b/testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy @@ -100,7 +100,7 @@ abstract class HttpServerTest extends InstrumentationSpecification imple false } - String peerIp(ServerEndpoint endpoint) { + String sockPeerAddr(ServerEndpoint endpoint) { "127.0.0.1" } @@ -200,7 +200,7 @@ abstract class HttpServerTest extends InstrumentationSpecification imple HttpServerTest.this.hasExceptionOnServerSpan(endpoint) } options.sockPeerAddr = { endpoint -> - HttpServerTest.this.peerIp(endpoint) + HttpServerTest.this.sockPeerAddr(endpoint) } options.testRedirect = testRedirect() diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java index 5aad78a2c5fc..77183b3df044 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java @@ -943,7 +943,7 @@ SpanDataAssert assertClientSpan( } } - // In theses cases the peer connection is not established, so the HTTP client should + // In these cases the peer connection is not established, so the HTTP client should // not report any socket-level attributes // TODO https://github.com/open-telemetry/opentelemetry-java/pull/4723 assertThat(attrs.asMap()) From 11eaf008bcda564a7aa206b9b279dabe38bce562 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Thu, 8 Sep 2022 12:42:59 +0200 Subject: [PATCH 6/7] default getter methods & getPeerSocketAddress() method name --- ...ocketAddressNetClientAttributesGetter.java | 11 ++++---- ...ocketAddressNetServerAttributesGetter.java | 16 +++++------ .../net/NetClientAttributesGetter.java | 16 ++++++++--- .../net/NetServerAttributesGetter.java | 20 +++++++++---- ...tAddressNetClientAttributesGetterTest.java | 2 +- ...tAddressNetServerAttributesGetterTest.java | 4 +-- .../instrumenter/InstrumenterBenchmark.java | 4 +-- .../client/AkkaHttpNetAttributesGetter.java | 24 ---------------- .../DubboNetClientAttributesGetter.java | 3 +- .../DubboNetServerAttributesGetter.java | 4 +-- ...cheHttpAsyncClientNetAttributesGetter.java | 4 +-- .../ApacheHttpClientRequest.java | 2 +- .../ApacheHttpClientNetAttributesGetter.java | 24 ---------------- .../ApacheHttpClientNetAttributesGetter.java | 24 ---------------- .../ApacheHttpClientNetAttributesGetter.java | 4 +-- .../v4_3/ApacheHttpClientRequest.java | 2 +- .../ApacheHttpClientNetAttributesGetter.java | 24 ---------------- .../ArmeriaNetServerAttributesGetter.java | 4 +-- .../ArmeriaNetClientAttributesGetter.java | 3 +- .../AsyncHttpClientNetAttributesGetter.java | 24 ---------------- .../AsyncHttpClientNetAttributesGetter.java | 3 +- .../v1_11/AwsSdkNetAttributesGetter.java | 24 ---------------- .../v2_2/AwsSdkNetAttributesGetter.java | 24 ---------------- .../v3_0/CassandraNetAttributesGetter.java | 2 +- .../v4_0/CassandraNetAttributesGetter.java | 2 +- .../v2_0/CouchbaseNetAttributesGetter.java | 2 +- ...searchRestNetResponseAttributesGetter.java | 12 -------- ...icsearch6TransportNetAttributesGetter.java | 2 +- ...cTransportNetResponseAttributesGetter.java | 6 ---- .../GoogleHttpClientNetAttributesGetter.java | 24 ---------------- .../grizzly/GrizzlyNetAttributesGetter.java | 6 ---- .../GrpcNetClientAttributesGetter.java | 2 +- .../GrpcNetServerAttributesGetter.java | 4 +-- .../HttpUrlNetAttributesGetter.java | 24 ---------------- .../JdkHttpNetAttributesGetter.java | 24 ---------------- .../v1_1/JaxRsClientNetAttributesGetter.java | 24 ---------------- .../internal/JdbcNetAttributesGetter.java | 24 ---------------- .../jedis/v1_4/JedisNetAttributesGetter.java | 24 ---------------- .../jedis/v3_0/JedisNetAttributesGetter.java | 3 +- .../jedis/v4_0/JedisNetAttributesGetter.java | 3 +- .../JettyHttpClientNetAttributesGetter.java | 24 ---------------- .../v1_0/KtorNetServerAttributesGetter.kt | 16 ----------- .../v2_0/KtorNetServerAttributesGetter.kt | 16 ----------- .../KubernetesNetAttributesGetter.java | 24 ---------------- .../LettuceConnectNetAttributesGetter.java | 24 ---------------- .../LettuceConnectNetAttributesGetter.java | 24 ---------------- .../v5_1/LettuceNetAttributesGetter.java | 2 +- .../LibertyDispatcherNetAttributesGetter.java | 6 ---- .../mongo/v3_1/MongoNetAttributesGetter.java | 24 ---------------- .../NettyConnectNetAttributesGetter.java | 2 +- .../NettyNetClientAttributesGetter.java | 2 +- .../NettyNetServerAttributesGetter.java | 4 +-- .../NettyConnectNetAttributesGetter.java | 2 +- .../NettyNetClientAttributesGetter.java | 2 +- .../client/NettySslNetAttributesGetter.java | 2 +- .../NettyNetServerAttributesGetter.java | 5 ++-- .../v2_2/OkHttp2NetAttributesGetter.java | 24 ---------------- .../internal/OkHttpNetAttributesGetter.java | 24 ---------------- .../PlayWsClientNetAttributesGetter.java | 2 +- .../RabbitChannelNetAttributesGetter.java | 6 ---- .../RabbitReceiveNetAttributesGetter.java | 6 ---- .../RatpackHttpNetAttributesGetter.java | 24 ---------------- .../internal/RatpackNetAttributesGetter.java | 24 ---------------- ...ReactorNettyNetClientAttributesGetter.java | 2 +- .../redisson/RedissonNetAttributesGetter.java | 2 +- .../v1_0/RestletNetAttributesGetter.java | 12 -------- .../internal/RestletNetAttributesGetter.java | 12 -------- .../servlet/ServletNetAttributesGetter.java | 6 ---- .../web/SpringWebNetAttributesGetter.java | 28 ------------------- .../SpringWebfluxNetAttributesGetter.java | 25 ----------------- .../v5_3/SpringWebMvcNetAttributesGetter.java | 6 ---- .../common/TomcatNetAttributesGetter.java | 6 ---- .../undertow/UndertowNetAttributesGetter.java | 4 +-- .../client/Vertx4NetAttributesGetter.java | 2 +- 74 files changed, 89 insertions(+), 763 deletions(-) diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java index ad49a6b9f230..3f212247e521 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetter.java @@ -21,12 +21,13 @@ public abstract class InetSocketAddressNetClientAttributesGetter { @Nullable - public abstract InetSocketAddress getPeerAddress(REQUEST request, @Nullable RESPONSE response); + protected abstract InetSocketAddress getPeerSocketAddress( + REQUEST request, @Nullable RESPONSE response); @Nullable @Override public String sockFamily(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getPeerAddress(request, response); + InetSocketAddress address = getPeerSocketAddress(request, response); if (address == null) { return null; } @@ -40,7 +41,7 @@ public String sockFamily(REQUEST request, @Nullable RESPONSE response) { @Override @Nullable public final String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getPeerAddress(request, response); + InetSocketAddress address = getPeerSocketAddress(request, response); if (address == null) { return null; } @@ -54,7 +55,7 @@ public final String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { @Override @Nullable public String sockPeerName(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getPeerAddress(request, response); + InetSocketAddress address = getPeerSocketAddress(request, response); if (address == null) { return null; } @@ -64,7 +65,7 @@ public String sockPeerName(REQUEST request, @Nullable RESPONSE response) { @Nullable @Override public Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response) { - InetSocketAddress address = getPeerAddress(request, response); + InetSocketAddress address = getPeerSocketAddress(request, response); if (address == null) { return null; } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java index 2edf4aca44cf..fb2a5e4fa190 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetter.java @@ -21,18 +21,18 @@ public abstract class InetSocketAddressNetServerAttributesGetter implements NetServerAttributesGetter { @Nullable - public abstract InetSocketAddress getPeerAddress(REQUEST request); + protected abstract InetSocketAddress getPeerSocketAddress(REQUEST request); // optional @Nullable - public abstract InetSocketAddress getHostAddress(REQUEST request); + protected abstract InetSocketAddress getHostSocketAddress(REQUEST request); @Nullable @Override public String sockFamily(REQUEST request) { - InetSocketAddress address = getPeerAddress(request); + InetSocketAddress address = getPeerSocketAddress(request); if (address == null) { - address = getHostAddress(request); + address = getHostSocketAddress(request); } if (address == null) { return null; @@ -47,25 +47,25 @@ public String sockFamily(REQUEST request) { @Override @Nullable public final String sockPeerAddr(REQUEST request) { - return getAddress(getPeerAddress(request)); + return getAddress(getPeerSocketAddress(request)); } @Override @Nullable public final Integer sockPeerPort(REQUEST request) { - return getPort(getPeerAddress(request)); + return getPort(getPeerSocketAddress(request)); } @Nullable @Override public String sockHostAddr(REQUEST request) { - return getAddress(getHostAddress(request)); + return getAddress(getHostSocketAddress(request)); } @Nullable @Override public Integer sockHostPort(REQUEST request) { - return getPort(getHostAddress(request)); + return getPort(getHostSocketAddress(request)); } @Nullable diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java index ab05315f2deb..b2af0ebb2792 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetClientAttributesGetter.java @@ -29,14 +29,22 @@ public interface NetClientAttributesGetter { Integer peerPort(REQUEST request, @Nullable RESPONSE response); @Nullable - String sockFamily(REQUEST request, @Nullable RESPONSE response); + default String sockFamily(REQUEST request, @Nullable RESPONSE response) { + return null; + } @Nullable - String sockPeerAddr(REQUEST request, @Nullable RESPONSE response); + default String sockPeerAddr(REQUEST request, @Nullable RESPONSE response) { + return null; + } @Nullable - String sockPeerName(REQUEST request, @Nullable RESPONSE response); + default String sockPeerName(REQUEST request, @Nullable RESPONSE response) { + return null; + } @Nullable - Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response); + default Integer sockPeerPort(REQUEST request, @Nullable RESPONSE response) { + return null; + } } diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java index d5bd267106e5..72bd87e6b1b8 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/net/NetServerAttributesGetter.java @@ -27,17 +27,27 @@ public interface NetServerAttributesGetter { Integer hostPort(REQUEST request); @Nullable - String sockFamily(REQUEST request); + default String sockFamily(REQUEST request) { + return null; + } @Nullable - String sockPeerAddr(REQUEST request); + default String sockPeerAddr(REQUEST request) { + return null; + } @Nullable - Integer sockPeerPort(REQUEST request); + default Integer sockPeerPort(REQUEST request) { + return null; + } @Nullable - String sockHostAddr(REQUEST request); + default String sockHostAddr(REQUEST request) { + return null; + } @Nullable - Integer sockHostPort(REQUEST request); + default Integer sockHostPort(REQUEST request) { + return null; + } } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java index 13ad7bf79c50..abd6b7b424e6 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetClientAttributesGetterTest.java @@ -42,7 +42,7 @@ public Integer peerPort(InetSocketAddress request, InetSocketAddress response) { } @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( InetSocketAddress request, InetSocketAddress response) { return response; } diff --git a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java index 2924b769a870..bcbdfabbb65d 100644 --- a/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java +++ b/instrumentation-api-semconv/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/net/InetSocketAddressNetServerAttributesGetterTest.java @@ -42,12 +42,12 @@ public Integer hostPort(Addresses request) { } @Override - public InetSocketAddress getPeerAddress(Addresses request) { + protected InetSocketAddress getPeerSocketAddress(Addresses request) { return request.peer; } @Override - public InetSocketAddress getHostAddress(Addresses request) { + protected InetSocketAddress getHostSocketAddress(Addresses request) { return request.host; } }; 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 40b091d737c9..4ea150d2011c 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 @@ -124,13 +124,13 @@ public Integer hostPort(Void unused) { @Override @Nullable - public InetSocketAddress getPeerAddress(Void unused) { + protected InetSocketAddress getPeerSocketAddress(Void unused) { return PEER_ADDRESS; } @Nullable @Override - public InetSocketAddress getHostAddress(Void unused) { + protected InetSocketAddress getHostSocketAddress(Void unused) { return HOST_ADDRESS; } } diff --git a/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java b/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java index 8469530d7c17..f786b281ea3d 100644 --- a/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java +++ b/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/AkkaHttpNetAttributesGetter.java @@ -27,28 +27,4 @@ public String peerName(HttpRequest httpRequest, @Nullable HttpResponse httpRespo public Integer peerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { return httpRequest.uri().authority().port(); } - - @Nullable - @Override - public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java index 8100b0fadc0a..e0f67bed15fb 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetClientAttributesGetter.java @@ -37,7 +37,8 @@ public Integer peerPort(DubboRequest request, @Nullable Result result) { @Override @Nullable - public InetSocketAddress getPeerAddress(DubboRequest request, @Nullable Result response) { + protected InetSocketAddress getPeerSocketAddress( + DubboRequest request, @Nullable Result response) { return request.remoteAddress(); } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java index aa80c525fc69..db5f707ab7d7 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/internal/DubboNetServerAttributesGetter.java @@ -37,13 +37,13 @@ public Integer hostPort(DubboRequest request) { @Override @Nullable - public InetSocketAddress getPeerAddress(DubboRequest request) { + protected InetSocketAddress getPeerSocketAddress(DubboRequest request) { return request.remoteAddress(); } @Nullable @Override - public InetSocketAddress getHostAddress(DubboRequest request) { + protected InetSocketAddress getHostSocketAddress(DubboRequest request) { return request.localAddress(); } } diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java index 8cb247a4f47c..6c45782552d2 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientNetAttributesGetter.java @@ -32,8 +32,8 @@ public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return request.peerAddress(); + return request.peerSocketAddress(); } } diff --git a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java index 656e3c926815..e9b1c6f27e0d 100644 --- a/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java +++ b/instrumentation/apache-httpasyncclient-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRequest.java @@ -149,7 +149,7 @@ private static URI getCalculatedUri(HttpHost httpHost, URI uri) { } @Nullable - public InetSocketAddress peerAddress() { + public InetSocketAddress peerSocketAddress() { if (target == null) { return null; } diff --git a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java index 02c09d6c555b..04489aa8a1cd 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientNetAttributesGetter.java @@ -32,28 +32,4 @@ public Integer peerPort(HttpMethod request, @Nullable HttpMethod response) { HostConfiguration hostConfiguration = request.getHostConfiguration(); return hostConfiguration != null ? hostConfiguration.getPort() : null; } - - @Nullable - @Override - public String sockFamily(HttpMethod request, @Nullable HttpMethod response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpMethod request, @Nullable HttpMethod response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpMethod request, @Nullable HttpMethod response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpMethod request, @Nullable HttpMethod response) { - return null; - } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java index efd58e50c6bc..f310ae87be0a 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientNetAttributesGetter.java @@ -28,28 +28,4 @@ public String peerName(ApacheHttpClientRequest request, @Nullable HttpResponse r public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { return request.getPeerPort(); } - - @Nullable - @Override - public String sockFamily(ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return null; - } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java index aa852325ddb6..88a5712cccda 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientNetAttributesGetter.java @@ -33,8 +33,8 @@ public Integer peerPort(ApacheHttpClientRequest request, @Nullable HttpResponse @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( ApacheHttpClientRequest request, @Nullable HttpResponse response) { - return request.peerAddress(); + return request.peerSocketAddress(); } } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java index 37881375e174..6ea15860e673 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientRequest.java @@ -152,7 +152,7 @@ private static URI getCalculatedUri(HttpHost httpHost, URI uri) { } @Nullable - public InetSocketAddress peerAddress() { + public InetSocketAddress peerSocketAddress() { if (target == null) { return null; } diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java index 65e370c06d67..46d30cffd813 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v5_0/ApacheHttpClientNetAttributesGetter.java @@ -50,28 +50,4 @@ public Integer peerPort(HttpRequest request, @Nullable HttpResponse response) { return null; } } - - @Nullable - @Override - public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } } diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java index 8e386b2c54d5..def4eeb71829 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaNetServerAttributesGetter.java @@ -34,7 +34,7 @@ public Integer hostPort(RequestContext ctx) { @Override @Nullable - public InetSocketAddress getPeerAddress(RequestContext ctx) { + protected InetSocketAddress getPeerSocketAddress(RequestContext ctx) { SocketAddress address = ctx.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; @@ -44,7 +44,7 @@ public InetSocketAddress getPeerAddress(RequestContext ctx) { @Nullable @Override - public InetSocketAddress getHostAddress(RequestContext ctx) { + protected InetSocketAddress getHostSocketAddress(RequestContext ctx) { SocketAddress address = ctx.localAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; diff --git a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java index fce749b748d8..369770d93acc 100644 --- a/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java +++ b/instrumentation/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/ArmeriaNetClientAttributesGetter.java @@ -39,7 +39,8 @@ public Integer peerPort(RequestContext ctx, @Nullable RequestLog requestLog) { @Override @Nullable - public InetSocketAddress getPeerAddress(RequestContext ctx, @Nullable RequestLog requestLog) { + protected InetSocketAddress getPeerSocketAddress( + RequestContext ctx, @Nullable RequestLog requestLog) { SocketAddress address = ctx.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; diff --git a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java index 14704ab41c8b..c5c44f10d8f9 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java +++ b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientNetAttributesGetter.java @@ -28,28 +28,4 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getUri().getPort(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable Response response) { - return null; - } } diff --git a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java index 01b0056dbf22..93692c417a2b 100644 --- a/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java +++ b/instrumentation/async-http-client/async-http-client-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v2_0/AsyncHttpClientNetAttributesGetter.java @@ -32,7 +32,8 @@ public Integer peerPort(RequestContext requestContext, @Nullable Response respon @Override @Nullable - public InetSocketAddress getPeerAddress(RequestContext request, @Nullable Response response) { + protected InetSocketAddress getPeerSocketAddress( + RequestContext request, @Nullable Response response) { if (response != null && response.getRemoteAddress() instanceof InetSocketAddress) { return (InetSocketAddress) response.getRemoteAddress(); } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java index 5c5b8d8776fb..a681e8836fbd 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkNetAttributesGetter.java @@ -28,28 +28,4 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getEndpoint().getPort(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable Response response) { - return null; - } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java index 4dff37fe598e..5d597d01d514 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkNetAttributesGetter.java @@ -34,28 +34,4 @@ public Integer peerPort(ExecutionAttributes request, @Nullable SdkHttpResponse r request.getAttribute(TracingExecutionInterceptor.SDK_HTTP_REQUEST_ATTRIBUTE); return httpRequest.port(); } - - @Nullable - @Override - public String sockFamily(ExecutionAttributes request, @Nullable SdkHttpResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(ExecutionAttributes request, @Nullable SdkHttpResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(ExecutionAttributes request, @Nullable SdkHttpResponse response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(ExecutionAttributes request, @Nullable SdkHttpResponse response) { - return null; - } } diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java index e5b64294a5c9..bce740dc9e09 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraNetAttributesGetter.java @@ -33,7 +33,7 @@ public Integer peerPort(CassandraRequest request, @Nullable ExecutionInfo execut @Override @Nullable - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( CassandraRequest request, @Nullable ExecutionInfo executionInfo) { return executionInfo == null ? null : executionInfo.getQueriedHost().getSocketAddress(); } diff --git a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java index 9ae496fc3e2d..c4bb411ea0fe 100644 --- a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java +++ b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraNetAttributesGetter.java @@ -35,7 +35,7 @@ public Integer peerPort(CassandraRequest request, @Nullable ExecutionInfo execut @Override @Nullable - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( CassandraRequest request, @Nullable ExecutionInfo executionInfo) { if (executionInfo == null) { return null; diff --git a/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java b/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java index f5e222a8c003..756ffb2c5470 100644 --- a/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java +++ b/instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseNetAttributesGetter.java @@ -35,7 +35,7 @@ public Integer peerPort(CouchbaseRequestInfo couchbaseRequest, @Nullable Void un @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( CouchbaseRequestInfo couchbaseRequest, @Nullable Void unused) { SocketAddress peerAddress = couchbaseRequest.getPeerAddress(); if (peerAddress instanceof InetSocketAddress) { diff --git a/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java index ad4ff9e40c24..7d3db6ec4e62 100644 --- a/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchRestNetResponseAttributesGetter.java @@ -46,18 +46,6 @@ public String sockPeerAddr(ElasticsearchRestRequest request, @Nullable Response return null; } - @Nullable - @Override - public String sockPeerName(ElasticsearchRestRequest request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(ElasticsearchRestRequest request, @Nullable Response response) { - return null; - } - @Nullable @Override public String sockFamily( diff --git a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java index 79e7f194f16e..00f971d61b61 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v6_0/Elasticsearch6TransportNetAttributesGetter.java @@ -33,7 +33,7 @@ public Integer peerPort(ElasticTransportRequest request, @Nullable ActionRespons @Override @Nullable - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( ElasticTransportRequest request, @Nullable ActionResponse response) { if (response != null && response.remoteAddress() != null) { return response.remoteAddress().address(); diff --git a/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java b/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java index 1d556d5b9d65..bd4b7fe13fb1 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java +++ b/instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticTransportNetResponseAttributesGetter.java @@ -30,12 +30,6 @@ public Integer peerPort(ElasticTransportRequest request, @Nullable ActionRespons return null; } - @Nullable - @Override - public String sockFamily(ElasticTransportRequest request, @Nullable ActionResponse response) { - return null; - } - @Override @Nullable public String sockPeerAddr(ElasticTransportRequest request, @Nullable ActionResponse response) { diff --git a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java index 6a5f00d7aba9..701b6db144de 100644 --- a/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java +++ b/instrumentation/google-http-client-1.19/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/googlehttpclient/GoogleHttpClientNetAttributesGetter.java @@ -29,28 +29,4 @@ public String peerName(HttpRequest request, @Nullable HttpResponse response) { public Integer peerPort(HttpRequest request, @Nullable HttpResponse response) { return request.getUrl().getPort(); } - - @Nullable - @Override - public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } } diff --git a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java index 12ff6452aeb1..586775ff664a 100644 --- a/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java +++ b/instrumentation/grizzly-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/GrizzlyNetAttributesGetter.java @@ -31,12 +31,6 @@ public Integer hostPort(HttpRequestPacket request) { return request.getServerPort(); } - @Nullable - @Override - public String sockFamily(HttpRequestPacket request) { - return null; - } - @Nullable @Override public String sockPeerAddr(HttpRequestPacket request) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java index ecc5948bf5eb..cf1a8edff00a 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java @@ -38,7 +38,7 @@ public Integer peerPort(GrpcRequest grpcRequest, @Nullable Status status) { @Override @Nullable - public InetSocketAddress getPeerAddress(GrpcRequest request, @Nullable Status response) { + protected InetSocketAddress getPeerSocketAddress(GrpcRequest request, @Nullable Status response) { SocketAddress address = request.getPeerAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java index ce8c00c8bbcb..83823ca34018 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java @@ -37,7 +37,7 @@ public Integer hostPort(GrpcRequest grpcRequest) { @Override @Nullable - public InetSocketAddress getPeerAddress(GrpcRequest request) { + protected InetSocketAddress getPeerSocketAddress(GrpcRequest request) { SocketAddress address = request.getPeerAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; @@ -47,7 +47,7 @@ public InetSocketAddress getPeerAddress(GrpcRequest request) { @Nullable @Override - public InetSocketAddress getHostAddress(GrpcRequest grpcRequest) { + protected InetSocketAddress getHostSocketAddress(GrpcRequest grpcRequest) { // TODO: later version introduces TRANSPORT_ATTR_LOCAL_ADDR, might be a good idea to use it return null; } diff --git a/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java b/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java index c0c185abfd1a..f03e2f5cf833 100644 --- a/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java +++ b/instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpUrlNetAttributesGetter.java @@ -27,28 +27,4 @@ public String peerName(HttpURLConnection connection, @Nullable Integer status) { public Integer peerPort(HttpURLConnection connection, @Nullable Integer status) { return connection.getURL().getPort(); } - - @Nullable - @Override - public String sockFamily(HttpURLConnection connection, @Nullable Integer status) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpURLConnection connection, @Nullable Integer status) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpURLConnection connection, @Nullable Integer status) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpURLConnection connection, @Nullable Integer status) { - return null; - } } diff --git a/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java b/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java index 5b84dab3cb1b..53ac02288f0f 100644 --- a/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java +++ b/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/JdkHttpNetAttributesGetter.java @@ -51,28 +51,4 @@ public Integer peerPort(HttpRequest httpRequest, @Nullable HttpResponse respo return null; } } - - @Nullable - @Override - public String sockFamily(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) { - return null; - } } diff --git a/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java b/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java index d69965b733e9..d822db30859b 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java +++ b/instrumentation/jaxrs-client/jaxrs-client-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientNetAttributesGetter.java @@ -29,28 +29,4 @@ public String peerName(ClientRequest request, @Nullable ClientResponse response) public Integer peerPort(ClientRequest request, @Nullable ClientResponse response) { return request.getURI().getPort(); } - - @Nullable - @Override - public String sockFamily(ClientRequest request, @Nullable ClientResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(ClientRequest request, @Nullable ClientResponse response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(ClientRequest request, @Nullable ClientResponse response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(ClientRequest request, @Nullable ClientResponse response) { - return null; - } } diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java index 847f99317382..4cf08505204f 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcNetAttributesGetter.java @@ -31,28 +31,4 @@ public String peerName(DbRequest request, @Nullable Void unused) { public Integer peerPort(DbRequest request, @Nullable Void unused) { return request.getDbInfo().getPort(); } - - @Nullable - @Override - public String sockFamily(DbRequest dbRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(DbRequest dbRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerName(DbRequest dbRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(DbRequest dbRequest, @Nullable Void unused) { - return null; - } } diff --git a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java index 468d3f6debd0..ab1973760b37 100644 --- a/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v1_4/JedisNetAttributesGetter.java @@ -25,28 +25,4 @@ public String peerName(JedisRequest request, @Nullable Void unused) { public Integer peerPort(JedisRequest request, @Nullable Void unused) { return request.getConnection().getPort(); } - - @Nullable - @Override - public String sockFamily(JedisRequest jedisRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(JedisRequest jedisRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerName(JedisRequest jedisRequest, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(JedisRequest jedisRequest, @Nullable Void unused) { - return null; - } } diff --git a/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java index 40bcd5731e9f..0cfc0b474de0 100644 --- a/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/JedisNetAttributesGetter.java @@ -32,7 +32,8 @@ public Integer peerPort(JedisRequest jedisRequest, @Nullable Void unused) { @Override @Nullable - public InetSocketAddress getPeerAddress(JedisRequest jedisRequest, @Nullable Void unused) { + protected InetSocketAddress getPeerSocketAddress( + JedisRequest jedisRequest, @Nullable Void unused) { Socket socket = jedisRequest.getConnection().getSocket(); if (socket != null && socket.getRemoteSocketAddress() instanceof InetSocketAddress) { return (InetSocketAddress) socket.getRemoteSocketAddress(); diff --git a/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java b/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java index fb5bfac5f395..458c6b45c1b4 100644 --- a/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java +++ b/instrumentation/jedis/jedis-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/JedisNetAttributesGetter.java @@ -33,7 +33,8 @@ public Integer peerPort(JedisRequest jedisRequest, @Nullable Void unused) { @Override @Nullable - public InetSocketAddress getPeerAddress(JedisRequest jedisRequest, @Nullable Void unused) { + protected InetSocketAddress getPeerSocketAddress( + JedisRequest jedisRequest, @Nullable Void unused) { SocketAddress socketAddress = jedisRequest.getRemoteSocketAddress(); if (socketAddress instanceof InetSocketAddress) { return (InetSocketAddress) socketAddress; diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java index dddfe309622a..1ac6a689748b 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientNetAttributesGetter.java @@ -34,28 +34,4 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.getPort(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable Response response) { - return null; - } } diff --git a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt index e2ab690ba485..8f82a1e46969 100644 --- a/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt +++ b/instrumentation/ktor/ktor-1.0/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v1_0/KtorNetServerAttributesGetter.kt @@ -15,10 +15,6 @@ internal class KtorNetServerAttributesGetter : NetServerAttributesGetter response) { public Integer peerPort(Request request, @Nullable ApiResponse response) { return request.url().port(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable ApiResponse apiResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable ApiResponse apiResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable ApiResponse apiResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable ApiResponse apiResponse) { - return null; - } } diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java index c6ab42867ec1..5592d4aec647 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectNetAttributesGetter.java @@ -26,28 +26,4 @@ public String peerName(RedisURI redisUri, @Nullable Void unused) { public Integer peerPort(RedisURI redisUri, @Nullable Void unused) { return redisUri.getPort(); } - - @Nullable - @Override - public String sockFamily(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerName(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(RedisURI redisUri, @Nullable Void unused) { - return null; - } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java index cef5c772ba2d..28a33c9b1d3d 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectNetAttributesGetter.java @@ -26,28 +26,4 @@ public String peerName(RedisURI redisUri, @Nullable Void unused) { public Integer peerPort(RedisURI redisUri, @Nullable Void unused) { return redisUri.getPort(); } - - @Nullable - @Override - public String sockFamily(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerName(RedisURI redisUri, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(RedisURI redisUri, @Nullable Void unused) { - return null; - } } diff --git a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java index 14ec9575f12e..76e6202069ab 100644 --- a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java +++ b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/LettuceNetAttributesGetter.java @@ -34,7 +34,7 @@ public Integer peerPort(OpenTelemetryEndpoint openTelemetryEndpoint, @Nullable V @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( OpenTelemetryEndpoint openTelemetryEndpoint, @Nullable Void unused) { return openTelemetryEndpoint.address; } diff --git a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java index caf789fe523a..86652e6c5503 100644 --- a/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java +++ b/instrumentation/liberty/liberty-dispatcher-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/dispatcher/LibertyDispatcherNetAttributesGetter.java @@ -28,12 +28,6 @@ public Integer hostPort(LibertyRequest request) { return request.request().getURLPort(); } - @Nullable - @Override - public String sockFamily(LibertyRequest request) { - return null; - } - @Override @Nullable public String sockPeerAddr(LibertyRequest request) { diff --git a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java index 48188df9494e..70cd421ae7ef 100644 --- a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java +++ b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoNetAttributesGetter.java @@ -36,28 +36,4 @@ public Integer peerPort(CommandStartedEvent event, @Nullable Void unused) { } return null; } - - @Nullable - @Override - public String sockFamily(CommandStartedEvent event, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(CommandStartedEvent event, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public String sockPeerName(CommandStartedEvent event, @Nullable Void unused) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(CommandStartedEvent event, @Nullable Void unused) { - return null; - } } diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java index 1841fcd281bc..072dc10ccca3 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyConnectNetAttributesGetter.java @@ -46,7 +46,7 @@ public Integer peerPort(NettyConnectionRequest request, @Nullable Channel channe @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( NettyConnectionRequest request, @Nullable Channel channel) { if (channel == null) { return null; diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java index 38275ad82ea6..e31dbedeff1c 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/client/NettyNetClientAttributesGetter.java @@ -41,7 +41,7 @@ public Integer peerPort( @Override @Nullable - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { SocketAddress address = requestAndChannel.channel().getRemoteAddress(); if (address instanceof InetSocketAddress) { diff --git a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java index 07be1ce4c87f..25be717c9fb7 100644 --- a/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java +++ b/instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/NettyNetServerAttributesGetter.java @@ -37,7 +37,7 @@ public Integer hostPort(HttpRequestAndChannel requestAndChannel) { @Override @Nullable - public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) { + protected InetSocketAddress getPeerSocketAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.channel().getRemoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; @@ -47,7 +47,7 @@ public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) @Nullable @Override - public InetSocketAddress getHostAddress(HttpRequestAndChannel requestAndChannel) { + protected InetSocketAddress getHostSocketAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.channel().getLocalAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java index 201ba847ec88..dada5cb6f81d 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java @@ -46,7 +46,7 @@ public Integer peerPort(NettyConnectionRequest request, @Nullable Channel channe @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( NettyConnectionRequest request, @Nullable Channel channel) { if (channel == null) { return null; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java index 0ad10ce347fb..c36b802de3aa 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java @@ -41,7 +41,7 @@ public Integer peerPort( @Override @Nullable - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( HttpRequestAndChannel requestAndChannel, @Nullable HttpResponse response) { SocketAddress address = requestAndChannel.remoteAddress(); if (address instanceof InetSocketAddress) { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java index 0ac439c7629e..a9462cb0da8b 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java @@ -35,7 +35,7 @@ public Integer peerPort(NettySslRequest nettySslRequest, @Nullable Void unused) @Nullable @Override - public InetSocketAddress getPeerAddress(NettySslRequest request, @Nullable Void unused) { + protected InetSocketAddress getPeerSocketAddress(NettySslRequest request, @Nullable Void unused) { if (request.remoteAddress() instanceof InetSocketAddress) { return (InetSocketAddress) request.remoteAddress(); } diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java index d21319eb6e82..d179254e8d3f 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java @@ -19,7 +19,6 @@ final class NettyNetServerAttributesGetter extends InetSocketAddressNetServerAttributesGetter { @Override - @Nullable public String transport(HttpRequestAndChannel requestAndChannel) { return requestAndChannel.channel() instanceof DatagramChannel ? IP_UDP : IP_TCP; } @@ -38,7 +37,7 @@ public Integer hostPort(HttpRequestAndChannel requestAndChannel) { @Override @Nullable - public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) { + protected InetSocketAddress getPeerSocketAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.remoteAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; @@ -48,7 +47,7 @@ public InetSocketAddress getPeerAddress(HttpRequestAndChannel requestAndChannel) @Nullable @Override - public InetSocketAddress getHostAddress(HttpRequestAndChannel requestAndChannel) { + protected InetSocketAddress getHostSocketAddress(HttpRequestAndChannel requestAndChannel) { SocketAddress address = requestAndChannel.channel().localAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; diff --git a/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java b/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java index 53ead976a539..874dd82591ed 100644 --- a/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java +++ b/instrumentation/okhttp/okhttp-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/okhttp/v2_2/OkHttp2NetAttributesGetter.java @@ -29,28 +29,4 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.url().getPort(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable Response response) { - return null; - } } diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java index 32d3291870d7..318b6d8d9733 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/internal/OkHttpNetAttributesGetter.java @@ -33,28 +33,4 @@ public String peerName(Request request, @Nullable Response response) { public Integer peerPort(Request request, @Nullable Response response) { return request.url().port(); } - - @Nullable - @Override - public String sockFamily(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public String sockPeerName(Request request, @Nullable Response response) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(Request request, @Nullable Response response) { - return null; - } } diff --git a/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java b/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java index 3b3ee1c09c37..56d4d9ceb0c5 100644 --- a/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java +++ b/instrumentation/play/play-ws/play-ws-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/PlayWsClientNetAttributesGetter.java @@ -33,7 +33,7 @@ public Integer peerPort(Request request, @Nullable Response response) { @Override @Nullable - public InetSocketAddress getPeerAddress(Request request, @Nullable Response response) { + protected InetSocketAddress getPeerSocketAddress(Request request, @Nullable Response response) { if (response != null && response.getRemoteAddress() instanceof InetSocketAddress) { return (InetSocketAddress) response.getRemoteAddress(); } diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java index 794c186c81a3..b53c279f753f 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelNetAttributesGetter.java @@ -36,12 +36,6 @@ public String sockPeerAddr(ChannelAndMethod channelAndMethod, @Nullable Void unu return channelAndMethod.getChannel().getConnection().getAddress().getHostAddress(); } - @Nullable - @Override - public String sockPeerName(ChannelAndMethod channelAndMethod, @Nullable Void unused) { - return null; - } - @Override public Integer sockPeerPort(ChannelAndMethod channelAndMethod, @Nullable Void unused) { return channelAndMethod.getChannel().getConnection().getPort(); diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java index f2f6109ec45b..00001c74b7fc 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitReceiveNetAttributesGetter.java @@ -37,12 +37,6 @@ public String sockPeerAddr(ReceiveRequest request, @Nullable GetResponse respons return request.getConnection().getAddress().getHostAddress(); } - @Nullable - @Override - public String sockPeerName(ReceiveRequest request, @Nullable GetResponse response) { - return null; - } - @Nullable @Override public Integer sockPeerPort(ReceiveRequest request, @Nullable GetResponse response) { diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java index 25abcb9e0810..71843670198c 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackHttpNetAttributesGetter.java @@ -33,28 +33,4 @@ public String peerName(RequestSpec request, @Nullable HttpResponse response) { public Integer peerPort(RequestSpec request, @Nullable HttpResponse response) { return request.getUri().getPort(); } - - @Nullable - @Override - public String sockFamily(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort(RequestSpec requestSpec, @Nullable HttpResponse httpResponse) { - return null; - } } diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java index 3e1599436727..d52e1ee15e66 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/internal/RatpackNetAttributesGetter.java @@ -44,32 +44,8 @@ private static PublicAddress getPublicAddress(Request request) { return ratpackContext.get(PublicAddress.class); } - @Nullable - @Override - public String sockFamily(Request request) { - return null; - } - - @Override - @Nullable - public String sockPeerAddr(Request request) { - return null; - } - @Override public Integer sockPeerPort(Request request) { return request.getRemoteAddress().getPort(); } - - @Nullable - @Override - public String sockHostAddr(Request request) { - return null; - } - - @Nullable - @Override - public Integer sockHostPort(Request request) { - return null; - } } diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java index 0ba5064c6a51..7249077da108 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyNetClientAttributesGetter.java @@ -40,7 +40,7 @@ public Integer peerPort(HttpClientConfig request, @Nullable HttpClientResponse r @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( HttpClientConfig request, @Nullable HttpClientResponse response) { // we're making use of the fact that HttpClientOperations is both a Connection and an diff --git a/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java b/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java index cf34f4458689..b20329993edf 100644 --- a/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java +++ b/instrumentation/redisson/redisson-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/RedissonNetAttributesGetter.java @@ -31,7 +31,7 @@ public Integer peerPort(RedissonRequest redissonRequest, @Nullable Void unused) } @Override - public InetSocketAddress getPeerAddress(RedissonRequest request, @Nullable Void unused) { + protected InetSocketAddress getPeerSocketAddress(RedissonRequest request, @Nullable Void unused) { return request.getAddress(); } } diff --git a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java index 78fee5a62c11..d9f8b2ff7598 100644 --- a/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java +++ b/instrumentation/restlet/restlet-1.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_0/RestletNetAttributesGetter.java @@ -33,12 +33,6 @@ public Integer hostPort(Request request) { return call == null ? null : call.getServerPort(); } - @Nullable - @Override - public String sockFamily(Request request) { - return null; - } - @Override @Nullable public String sockPeerAddr(Request request) { @@ -57,12 +51,6 @@ public String sockHostAddr(Request request) { return call == null ? null : call.getServerAddress(); } - @Nullable - @Override - public Integer sockHostPort(Request request) { - return null; - } - @Nullable private static HttpCall httpCall(Request request) { if (request instanceof HttpRequest) { diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java index 000a13d883f2..6a4f22a48be9 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/internal/RestletNetAttributesGetter.java @@ -33,12 +33,6 @@ public Integer hostPort(Request request) { return call == null ? null : call.getServerPort(); } - @Nullable - @Override - public String sockFamily(Request request) { - return null; - } - @Override @Nullable public String sockPeerAddr(Request request) { @@ -57,12 +51,6 @@ public String sockHostAddr(Request request) { return call == null ? null : call.getServerAddress(); } - @Nullable - @Override - public Integer sockHostPort(Request request) { - return null; - } - @Nullable private static ServerCall serverCall(Request request) { if (request instanceof HttpRequest) { diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java index 6fef21ba1b25..7410628c5d01 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletNetAttributesGetter.java @@ -36,12 +36,6 @@ public Integer hostPort(ServletRequestContext requestContext) { return accessor.getRequestServerPort(requestContext.request()); } - @Nullable - @Override - public String sockFamily(ServletRequestContext requestContext) { - return null; - } - @Override @Nullable public String sockPeerAddr(ServletRequestContext requestContext) { diff --git a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java index 4a59373d7a3f..4a005c628b82 100644 --- a/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java +++ b/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/SpringWebNetAttributesGetter.java @@ -29,32 +29,4 @@ public String peerName(HttpRequest httpRequest, @Nullable ClientHttpResponse res public Integer peerPort(HttpRequest httpRequest, @Nullable ClientHttpResponse response) { return httpRequest.getURI().getPort(); } - - @Nullable - @Override - public String sockFamily( - HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr( - HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName( - HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort( - HttpRequest httpRequest, @Nullable ClientHttpResponse clientHttpResponse) { - return null; - } } diff --git a/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java b/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java index 17f3ad559c78..090694ea317e 100644 --- a/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java +++ b/instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/internal/SpringWebfluxNetAttributesGetter.java @@ -33,29 +33,4 @@ public String peerName(ClientRequest request, @Nullable ClientResponse response) public Integer peerPort(ClientRequest request, @Nullable ClientResponse response) { return request.url().getPort(); } - - @Nullable - @Override - public String sockFamily(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerAddr(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { - return null; - } - - @Nullable - @Override - public String sockPeerName(ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { - return null; - } - - @Nullable - @Override - public Integer sockPeerPort( - ClientRequest clientRequest, @Nullable ClientResponse clientResponse) { - return null; - } } diff --git a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java index 23e9a370e45e..79a9f82daef3 100644 --- a/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java +++ b/instrumentation/spring/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcNetAttributesGetter.java @@ -29,12 +29,6 @@ public Integer hostPort(HttpServletRequest request) { return request.getServerPort(); } - @Nullable - @Override - public String sockFamily(HttpServletRequest request) { - return null; - } - @Override @Nullable public String sockPeerAddr(HttpServletRequest request) { diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java index 250366d679a8..30c8ffb01164 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatNetAttributesGetter.java @@ -30,12 +30,6 @@ public Integer hostPort(Request request) { return request.getServerPort(); } - @Nullable - @Override - public String sockFamily(Request request) { - return null; - } - @Override @Nullable public String sockPeerAddr(Request request) { diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java index 19a4a12f8e96..73044ace65b8 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowNetAttributesGetter.java @@ -33,13 +33,13 @@ public Integer hostPort(HttpServerExchange exchange) { @Override @Nullable - public InetSocketAddress getPeerAddress(HttpServerExchange exchange) { + protected InetSocketAddress getPeerSocketAddress(HttpServerExchange exchange) { return exchange.getConnection().getPeerAddress(InetSocketAddress.class); } @Nullable @Override - public InetSocketAddress getHostAddress(HttpServerExchange exchange) { + protected InetSocketAddress getHostSocketAddress(HttpServerExchange exchange) { return exchange.getConnection().getLocalAddress(InetSocketAddress.class); } } diff --git a/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java b/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java index 1973e7a25977..b5c6b0f38ef9 100644 --- a/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java +++ b/instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/Vertx4NetAttributesGetter.java @@ -34,7 +34,7 @@ public Integer peerPort(HttpClientRequest request, @Nullable HttpClientResponse @Nullable @Override - public InetSocketAddress getPeerAddress( + protected InetSocketAddress getPeerSocketAddress( HttpClientRequest request, @Nullable HttpClientResponse response) { if (response == null) { return null; From 84f87a7e5280a1ad6f0a8a751308bd0c662eb731 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Fri, 9 Sep 2022 16:14:59 +0200 Subject: [PATCH 7/7] set authority in grpc earlier --- .../grpc/v1_6/GrpcRequest.java | 40 +++++++++---------- .../grpc/v1_6/TracingClientInterceptor.java | 5 +-- .../GrpcNetClientAttributesGetter.java | 2 +- .../GrpcNetServerAttributesGetter.java | 2 +- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java index 0e80a1959439..cd429d22e850 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java @@ -19,19 +19,32 @@ public final class GrpcRequest { @Nullable private volatile String logicalHost; private volatile int logicalPort = -1; - @Nullable private volatile SocketAddress peerAddress; + @Nullable private volatile SocketAddress peerSocketAddress; GrpcRequest( MethodDescriptor method, @Nullable Metadata metadata, - @Nullable SocketAddress peerAddress, + @Nullable SocketAddress peerSocketAddress, @Nullable String authority) { this.method = method; this.metadata = metadata; - this.peerAddress = peerAddress; + this.peerSocketAddress = peerSocketAddress; setLogicalAddress(authority); } + private void setLogicalAddress(@Nullable String authority) { + if (authority == null) { + return; + } + try { + URI uri = new URI(null, authority, null, null, null); + logicalHost = uri.getHost(); + logicalPort = uri.getPort(); + } catch (Throwable e) { + // do nothing + } + } + public MethodDescriptor getMethod() { return method; } @@ -54,25 +67,12 @@ public int getLogicalPort() { return logicalPort; } - void setLogicalAddress(@Nullable String authority) { - if (authority == null) { - return; - } - try { - URI uri = new URI(null, authority, null, null, null); - logicalHost = uri.getHost(); - logicalPort = uri.getPort(); - } catch (Throwable e) { - // do nothing - } - } - @Nullable - public SocketAddress getPeerAddress() { - return peerAddress; + public SocketAddress getPeerSocketAddress() { + return peerSocketAddress; } - void setPeerAddress(SocketAddress peerAddress) { - this.peerAddress = peerAddress; + void setPeerSocketAddress(SocketAddress peerSocketAddress) { + this.peerSocketAddress = peerSocketAddress; } } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java index 26885ec8f1e2..e78b6896b3f3 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java @@ -41,7 +41,7 @@ final class TracingClientInterceptor implements ClientInterceptor { @Override public ClientCall interceptCall( MethodDescriptor method, CallOptions callOptions, Channel next) { - GrpcRequest request = new GrpcRequest(method, null, null, null); + GrpcRequest request = new GrpcRequest(method, null, null, next.authority()); Context parentContext = Context.current(); if (!instrumenter.shouldStart(parentContext, request)) { return next.newCall(method, callOptions); @@ -59,8 +59,7 @@ public ClientCall interceptCall( } } - request.setLogicalAddress(next.authority()); - request.setPeerAddress(result.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR)); + request.setPeerSocketAddress(result.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR)); return new TracingClientCall<>(result, parentContext, context, request); } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java index cf1a8edff00a..0e54e7b52f37 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetClientAttributesGetter.java @@ -39,7 +39,7 @@ public Integer peerPort(GrpcRequest grpcRequest, @Nullable Status status) { @Override @Nullable protected InetSocketAddress getPeerSocketAddress(GrpcRequest request, @Nullable Status response) { - SocketAddress address = request.getPeerAddress(); + SocketAddress address = request.getPeerSocketAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java index 83823ca34018..07c5d965a48a 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/internal/GrpcNetServerAttributesGetter.java @@ -38,7 +38,7 @@ public Integer hostPort(GrpcRequest grpcRequest) { @Override @Nullable protected InetSocketAddress getPeerSocketAddress(GrpcRequest request) { - SocketAddress address = request.getPeerAddress(); + SocketAddress address = request.getPeerSocketAddress(); if (address instanceof InetSocketAddress) { return (InetSocketAddress) address; }