Skip to content

Commit 0c5a3a9

Browse files
committed
Switched to storing into final field
Realized that the caching is unnecessary complication Just use a final field instead
1 parent 8dbc564 commit 0c5a3a9

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -81,28 +81,18 @@ public abstract class HttpServerDecorator<REQUEST, CONNECTION, RESPONSE, REQUEST
8181
private final boolean traceClientIpResolverEnabled =
8282
Config.get().isTraceClientIpResolverEnabled();
8383

84-
// Used to cache the primary instrumentation name
85-
// Deliberately not synchronized or volatile, reading a state null and
86-
// repeating the name determination logic is fine
87-
private String cachedPrimaryInstrumentationName = null;
88-
89-
/**
90-
* Wrapper around instrumentationNames() that caches the result to avoid repeatedly allocating a
91-
* String[]
92-
*/
93-
protected final String primaryInstrumentationName() {
94-
String primaryName = cachedPrimaryInstrumentationName;
95-
if (primaryName != null) return primaryName;
84+
private final String primaryInstrumentationName;
9685

86+
HttpServerDecorator() {
9787
String[] instrumentationNames = instrumentationNames();
98-
primaryName =
88+
this.primaryInstrumentationName =
9989
instrumentationNames != null && instrumentationNames.length > 0
10090
? instrumentationNames[0]
10191
: DEFAULT_INSTRUMENTATION_NAME;
92+
}
10293

103-
cachedPrimaryInstrumentationName = primaryName;
104-
105-
return primaryName;
94+
protected final String primaryInstrumentationName() {
95+
return primaryInstrumentationName;
10696
}
10797

10898
protected abstract AgentPropagation.ContextVisitor<REQUEST_CARRIER> getter();

0 commit comments

Comments
 (0)