diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java index 6073da7ea2a..22045ad058f 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java @@ -81,6 +81,30 @@ public abstract class HttpServerDecorator 0 + ? instrumentationNames[0] + : DEFAULT_INSTRUMENTATION_NAME; + + cachedPrimaryInstrumentationName = primaryName; + + return primaryName; + } + protected abstract AgentPropagation.ContextVisitor getter(); protected abstract AgentPropagation.ContextVisitor responseGetter(); @@ -153,11 +177,7 @@ public Context extract(REQUEST_CARRIER carrier) { * @return A new context bundling the span, child of the given parent context. */ public Context startSpan(REQUEST_CARRIER carrier, Context parentContext) { - String[] instrumentationNames = instrumentationNames(); - String instrumentationName = - instrumentationNames != null && instrumentationNames.length > 0 - ? instrumentationNames[0] - : DEFAULT_INSTRUMENTATION_NAME; + String instrumentationName = primaryInstrumentationName(); AgentSpanContext extracted = getExtractedSpanContext(parentContext); // Call IG callbacks extracted = callIGCallbackStart(extracted);