Skip to content

Commit f5b083b

Browse files
dougqhclaude
andcommitted
Snapshot trace-stats additional tags in Config
getTraceStatsAdditionalTags re-queried ConfigProvider on every call, so a late system-property mutation could change an existing Config's value, and the setting never appeared in Config.toString() (nor was it resolved at all when no metrics aggregator was constructed). Resolve it once into a final field during construction, return that field, and include it in toString(), per the add_new_configurations convention. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 976d335 commit f5b083b

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

  • internal-api/src/main/java/datadog/trace/api

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -941,6 +941,7 @@ public static String getHostName() {
941941
private final boolean dbClientSplitByInstanceTypeSuffix;
942942
private final boolean dbClientSplitByHost;
943943
private final Set<String> splitByTags;
944+
private final Set<String> traceStatsAdditionalTags;
944945
private final boolean jeeSplitByDeployment;
945946
private final int scopeDepthLimit;
946947
private final boolean scopeStrictMode;
@@ -1827,6 +1828,12 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
18271828

18281829
splitByTags = tryMakeImmutableSet(configProvider.getList(SPLIT_BY_TAGS));
18291830

1831+
traceStatsAdditionalTags =
1832+
experimentalFeaturesEnabled.contains(
1833+
propertyNameToEnvironmentVariableName(TRACE_STATS_ADDITIONAL_TAGS))
1834+
? tryMakeImmutableSet(configProvider.getList(TRACE_STATS_ADDITIONAL_TAGS))
1835+
: Collections.emptySet();
1836+
18301837
jeeSplitByDeployment =
18311838
configProvider.getBoolean(
18321839
EXPERIMENTATAL_JEE_SPLIT_BY_DEPLOYMENT, DEFAULT_EXPERIMENTATAL_JEE_SPLIT_BY_DEPLOYMENT);
@@ -5288,11 +5295,7 @@ public Set<String> getMetricsIgnoredResources() {
52885295
}
52895296

52905297
public Set<String> getTraceStatsAdditionalTags() {
5291-
if (!experimentalFeaturesEnabled.contains(
5292-
propertyNameToEnvironmentVariableName(TRACE_STATS_ADDITIONAL_TAGS))) {
5293-
return Collections.emptySet();
5294-
}
5295-
return tryMakeImmutableSet(configProvider.getList(TRACE_STATS_ADDITIONAL_TAGS));
5298+
return traceStatsAdditionalTags;
52965299
}
52975300

52985301
public String getEnv() {
@@ -6435,6 +6438,8 @@ public String toString() {
64356438
+ dbmTracePreparedStatements
64366439
+ ", splitByTags="
64376440
+ splitByTags
6441+
+ ", traceStatsAdditionalTags="
6442+
+ traceStatsAdditionalTags
64386443
+ ", jeeSplitByDeployment="
64396444
+ jeeSplitByDeployment
64406445
+ ", scopeDepthLimit="

0 commit comments

Comments
 (0)