Skip to content

Commit d355dcd

Browse files
committed
Ad config via env var to Dependency service resolution period
1 parent aa7092b commit d355dcd

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

dd-trace-api/src/main/java/datadog/trace/api/config/AppSecConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,8 @@ public final class AppSecConfig {
3636

3737
public static final String APPSEC_STANDALONE_ENABLED = "experimental.appsec.standalone.enabled";
3838

39+
public static final String APPSEC_DEPENDENCY_RESOLUTION_PERIOD_MILLIS =
40+
"appsec.dependency.resolution.period.millis";
41+
3942
private AppSecConfig() {}
4043
}

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static datadog.trace.util.Strings.propertyNameToEnvironmentVariableName;
2525

2626
import datadog.trace.api.civisibility.CiVisibilityWellKnownTags;
27+
import datadog.trace.api.config.AppSecConfig;
2728
import datadog.trace.api.config.GeneralConfig;
2829
import datadog.trace.api.config.ProfilingConfig;
2930
import datadog.trace.api.config.TracerConfig;
@@ -536,6 +537,8 @@ public static String getHostName() {
536537
private final int cloudPayloadTaggingMaxDepth;
537538
private final int cloudPayloadTaggingMaxTags;
538539

540+
private final long dependecyResolutionPeriodMillis;
541+
539542
// Read order: System Properties -> Env Variables, [-> properties file], [-> default value]
540543
private Config() {
541544
this(ConfigProvider.createDefault());
@@ -1792,6 +1795,10 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
17921795
this.cloudPayloadTaggingMaxTags =
17931796
configProvider.getInteger(TracerConfig.TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS, 758);
17941797

1798+
this.dependecyResolutionPeriodMillis =
1799+
configProvider.getLong(
1800+
AppSecConfig.APPSEC_DEPENDENCY_RESOLUTION_PERIOD_MILLIS, 1000); // 1 second by default
1801+
17951802
timelineEventsEnabled =
17961803
configProvider.getBoolean(
17971804
ProfilingConfig.PROFILING_TIMELINE_EVENTS_ENABLED,
@@ -3686,6 +3693,10 @@ public boolean isEnabled(
36863693
Collections.singletonList(settingName), "", settingSuffix, defaultEnabled);
36873694
}
36883695

3696+
public long getDependecyResolutionPeriodMillis() {
3697+
return dependecyResolutionPeriodMillis;
3698+
}
3699+
36893700
public String getDBMPropagationMode() {
36903701
return DBMPropagationMode;
36913702
}

telemetry/src/main/java/datadog/telemetry/dependency/DependencyService.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package datadog.telemetry.dependency;
22

3+
import datadog.trace.api.Config;
34
import datadog.trace.util.AgentTaskScheduler;
45
import java.lang.instrument.Instrumentation;
56
import java.net.URI;
@@ -31,7 +32,11 @@ public class DependencyService implements Runnable {
3132
public void schedulePeriodicResolution() {
3233
scheduledTask =
3334
AgentTaskScheduler.INSTANCE.scheduleAtFixedRate(
34-
AgentTaskScheduler.RunnableTask.INSTANCE, this, 0, 1000L, TimeUnit.MILLISECONDS);
35+
AgentTaskScheduler.RunnableTask.INSTANCE,
36+
this,
37+
0,
38+
Config.get().getDependecyResolutionPeriodMillis(),
39+
TimeUnit.MILLISECONDS);
3540
}
3641

3742
public void resolveOneDependency() {

0 commit comments

Comments
 (0)