diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java index 09dc011a8e..a57e6ccb99 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpClientDecorator.java @@ -68,6 +68,7 @@ public abstract class HttpClientDecorator extends ClientDecor Tags.PEER_HOSTNAME.set(span, hostname(request)); final Integer port = port(request); + // Negative or Zero ports might represent an unset/null value for an int type. Skip setting. Tags.PEER_PORT.set(span, port != null && port > 0 ? port : null); if (Config.get().isHttpClientSplitByDomain()) { diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpServerDecorator.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpServerDecorator.java index 9fd2b0563c..5e89056af4 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpServerDecorator.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/decorator/HttpServerDecorator.java @@ -88,7 +88,9 @@ public abstract class HttpServerDecorator extends Tags.PEER_HOST_IPV6.set(span, ip); } } - Tags.PEER_PORT.set(span, peerPort(connection)); + final Integer port = peerPort(connection); + // Negative or Zero ports might represent an unset/null value for an int type. Skip setting. + Tags.PEER_PORT.set(span, port != null && port > 0 ? port : null); } return span; }