diff --git a/internal-api/src/main/java/datadog/trace/api/normalize/HttpResourceNames.java b/internal-api/src/main/java/datadog/trace/api/normalize/HttpResourceNames.java index 68a085c212d..3513ed67daa 100644 --- a/internal-api/src/main/java/datadog/trace/api/normalize/HttpResourceNames.java +++ b/internal-api/src/main/java/datadog/trace/api/normalize/HttpResourceNames.java @@ -8,6 +8,7 @@ import datadog.trace.bootstrap.instrumentation.api.ResourceNamePriorities; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import java.util.function.Function; +import javax.annotation.Nonnull; public class HttpResourceNames { public static final UTF8BytesString DEFAULT_RESOURCE_NAME = UTF8BytesString.create("/"); @@ -71,6 +72,9 @@ private HttpResourceNames() { public static AgentSpan setForServer( AgentSpan span, CharSequence method, CharSequence path, boolean encoded) { + if (path == null) { + return span; + } Pair result = computeForServer(method, path, encoded); if (result.hasLeft()) { span.setResourceName(result.getLeft(), result.getRight()); @@ -80,7 +84,7 @@ public static AgentSpan setForServer( } public static Pair computeForServer( - CharSequence method, CharSequence path, boolean encoded) { + CharSequence method, @Nonnull CharSequence path, boolean encoded) { byte priority; String resourcePath = @@ -96,7 +100,7 @@ public static Pair computeForServer( } public static Pair computeForClient( - CharSequence method, CharSequence path, boolean encoded) { + CharSequence method, @Nonnull CharSequence path, boolean encoded) { byte priority; String resourcePath = @@ -112,6 +116,9 @@ public static Pair computeForClient( public static AgentSpan setForClient( AgentSpan span, CharSequence method, CharSequence path, boolean encoded) { + if (path == null) { + return span; + } Pair result = computeForClient(method, path, encoded); if (result.hasLeft()) { span.setResourceName(result.getLeft(), result.getRight());