Skip to content

Commit a685b20

Browse files
committed
move flags
1 parent e29146f commit a685b20

File tree

5 files changed

+81
-27
lines changed

5 files changed

+81
-27
lines changed

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import datadog.trace.api.Config;
99
import datadog.trace.api.DDSpanId;
1010
import datadog.trace.api.DDTraceId;
11-
import datadog.trace.api.InstrumenterConfig;
1211
import datadog.trace.api.naming.SpanNaming;
1312
import datadog.trace.bootstrap.ContextStore;
1413
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
@@ -202,7 +201,7 @@ public String getDbService(final DBInfo dbInfo) {
202201
}
203202

204203
public static DBInfo parseDBInfoFromConnection(final Connection connection) {
205-
if (connection == null || !InstrumenterConfig.get().isJdbcMetadataFetchingEnabled()) {
204+
if (connection == null || !Config.get().isDbMetadataFetchingEnabled()) {
206205
// we can log here, but it risks to be too verbose
207206
return DBInfo.DEFAULT;
208207
}
@@ -212,7 +211,7 @@ public static DBInfo parseDBInfoFromConnection(final Connection connection) {
212211
final String url = metaData.getURL();
213212
if (url != null) {
214213
Properties clientInfo = null;
215-
if (InstrumenterConfig.get().isJdbcClientInfoFetchingEnabled()) {
214+
if (Config.get().isDbClientInfoFetchingEnabled()) {
216215
try {
217216
clientInfo = connection.getClientInfo();
218217
} catch (final Throwable ex) {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ public final class TraceInstrumentationConfig {
6363
"trace.db.client.split-by-instance.type.suffix";
6464
public static final String DB_CLIENT_HOST_SPLIT_BY_HOST = "trace.db.client.split-by-host";
6565

66+
public static final String DB_METADATA_FETCHING_ENABLED = "trace.db.metadata.fetching.enabled";
67+
public static final String DB_CLIENT_INFO_FETCHING_ENABLED =
68+
"trace.db.client.info.fetching.enabled";
69+
6670
public static final String JDBC_PREPARED_STATEMENT_CLASS_NAME =
6771
"trace.jdbc.prepared.statement.class.name";
6872

@@ -75,11 +79,6 @@ public final class TraceInstrumentationConfig {
7579
public static final String JDBC_POOL_WAITING_ENABLED =
7680
"trace.experimental.jdbc.pool.waiting.enabled";
7781

78-
public static final String JDBC_METADATA_FETCHING_ENABLED =
79-
"trace.jdbc.metadata.fetching.enabled";
80-
public static final String JDBC_CLIENT_INFO_FETCHING_ENABLED =
81-
"trace.jdbc.client.info.fetching.enabled";
82-
8382
public static final String AKKA_FORK_JOIN_TASK_NAME = "trace.akka.fork.join.task.name";
8483
public static final String AKKA_FORK_JOIN_EXECUTOR_TASK_NAME =
8584
"trace.akka.fork.join.executor.task.name";

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,9 +509,11 @@
509509
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_HOST;
510510
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_INSTANCE;
511511
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_INSTANCE_TYPE_SUFFIX;
512+
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_INFO_FETCHING_ENABLED;
512513
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_DBM_INJECT_SQL_BASEHASH;
513514
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_DBM_PROPAGATION_MODE_MODE;
514515
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_DBM_TRACE_PREPARED_STATEMENTS;
516+
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_METADATA_FETCHING_ENABLED;
515517
import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_BODY_AND_PARAMS_ENABLED;
516518
import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_BODY_ENABLED;
517519
import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_PARAMS_ENABLED;
@@ -1078,6 +1080,8 @@ public static String getHostName() {
10781080
private final boolean dbmInjectSqlBaseHash;
10791081
private final String dbmPropagationMode;
10801082
private final boolean dbmTracePreparedStatements;
1083+
private final boolean dbMetadataFetchingEnabled;
1084+
private final boolean dbClientInfoFetchingEnabled;
10811085

10821086
private final boolean dynamicInstrumentationEnabled;
10831087
private final String dynamicInstrumentationSnapshotUrl;
@@ -1626,6 +1630,9 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
16261630
DB_CLIENT_HOST_SPLIT_BY_INSTANCE_TYPE_SUFFIX,
16271631
DEFAULT_DB_CLIENT_HOST_SPLIT_BY_INSTANCE_TYPE_SUFFIX);
16281632

1633+
dbMetadataFetchingEnabled = configProvider.getBoolean(DB_METADATA_FETCHING_ENABLED, true);
1634+
dbClientInfoFetchingEnabled = configProvider.getBoolean(DB_CLIENT_INFO_FETCHING_ENABLED, true);
1635+
16291636
dbClientSplitByHost =
16301637
configProvider.getBoolean(
16311638
DB_CLIENT_HOST_SPLIT_BY_HOST, DEFAULT_DB_CLIENT_HOST_SPLIT_BY_HOST);
@@ -3150,6 +3157,14 @@ public boolean isDbClientSplitByHost() {
31503157
return dbClientSplitByHost;
31513158
}
31523159

3160+
public boolean isDbMetadataFetchingEnabled() {
3161+
return dbMetadataFetchingEnabled;
3162+
}
3163+
3164+
public boolean isDbClientInfoFetchingEnabled() {
3165+
return dbClientInfoFetchingEnabled;
3166+
}
3167+
31533168
public Set<String> getSplitByTags() {
31543169
return splitByTags;
31553170
}
@@ -5552,6 +5567,10 @@ public String toString() {
55525567
+ dbClientSplitByInstanceTypeSuffix
55535568
+ ", dbClientSplitByHost="
55545569
+ dbClientSplitByHost
5570+
+ ", dbMetadataFetchingEnabled="
5571+
+ dbMetadataFetchingEnabled
5572+
+ ", dbClientInfoFetchingEnabled="
5573+
+ dbClientInfoFetchingEnabled
55555574
+ ", dbmInjectSqlBaseHash="
55565575
+ dbmInjectSqlBaseHash
55575576
+ ", dbmPropagationMode="

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@
4444
import static datadog.trace.api.config.TraceInstrumentationConfig.INSTRUMENTATION_CONFIG_ID;
4545
import static datadog.trace.api.config.TraceInstrumentationConfig.INTEGRATIONS_ENABLED;
4646
import static datadog.trace.api.config.TraceInstrumentationConfig.JAX_RS_ADDITIONAL_ANNOTATIONS;
47-
import static datadog.trace.api.config.TraceInstrumentationConfig.JDBC_CLIENT_INFO_FETCHING_ENABLED;
4847
import static datadog.trace.api.config.TraceInstrumentationConfig.JDBC_CONNECTION_CLASS_NAME;
49-
import static datadog.trace.api.config.TraceInstrumentationConfig.JDBC_METADATA_FETCHING_ENABLED;
5048
import static datadog.trace.api.config.TraceInstrumentationConfig.JDBC_POOL_WAITING_ENABLED;
5149
import static datadog.trace.api.config.TraceInstrumentationConfig.JDBC_PREPARED_STATEMENT_CLASS_NAME;
5250
import static datadog.trace.api.config.TraceInstrumentationConfig.MEASURE_METHODS;
@@ -134,8 +132,6 @@ public class InstrumenterConfig {
134132
private final String jdbcPreparedStatementClassName;
135133
private final String jdbcConnectionClassName;
136134
private final boolean jdbcPoolWaitingEnabled;
137-
private final boolean jdbcMetadataFetchingEnabled;
138-
private final boolean jdbcClientInfoFetchingEnabled;
139135

140136
private final String httpURLConnectionClassName;
141137
private final String axisTransportClassName;
@@ -249,9 +245,6 @@ private InstrumenterConfig() {
249245
configProvider.getString(JDBC_PREPARED_STATEMENT_CLASS_NAME, "");
250246
jdbcConnectionClassName = configProvider.getString(JDBC_CONNECTION_CLASS_NAME, "");
251247
jdbcPoolWaitingEnabled = configProvider.getBoolean(JDBC_POOL_WAITING_ENABLED, false);
252-
jdbcMetadataFetchingEnabled = configProvider.getBoolean(JDBC_METADATA_FETCHING_ENABLED, true);
253-
jdbcClientInfoFetchingEnabled =
254-
configProvider.getBoolean(JDBC_CLIENT_INFO_FETCHING_ENABLED, true);
255248

256249
httpURLConnectionClassName = configProvider.getString(HTTP_URL_CONNECTION_CLASS_NAME, "");
257250
axisTransportClassName = configProvider.getString(AXIS_TRANSPORT_CLASS_NAME, "");
@@ -432,14 +425,6 @@ public boolean isJdbcPoolWaitingEnabled() {
432425
return jdbcPoolWaitingEnabled;
433426
}
434427

435-
public boolean isJdbcMetadataFetchingEnabled() {
436-
return jdbcMetadataFetchingEnabled;
437-
}
438-
439-
public boolean isJdbcClientInfoFetchingEnabled() {
440-
return jdbcClientInfoFetchingEnabled;
441-
}
442-
443428
public String getHttpURLConnectionClassName() {
444429
return httpURLConnectionClassName;
445430
}
@@ -651,10 +636,6 @@ public String toString() {
651636
+ '\''
652637
+ ", jdbcPoolWaitingEnabled="
653638
+ jdbcPoolWaitingEnabled
654-
+ ", jdbcMetadataFetchingEnabled="
655-
+ jdbcMetadataFetchingEnabled
656-
+ ", jdbcClientInfoFetchingEnabled="
657-
+ jdbcClientInfoFetchingEnabled
658639
+ ", httpURLConnectionClassName='"
659640
+ httpURLConnectionClassName
660641
+ '\''

internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2793,4 +2793,60 @@ class ConfigTest extends DDSpecification {
27932793
then:
27942794
config.tracePropagationBehaviorExtract == TracePropagationBehaviorExtract.CONTINUE
27952795
}
2796+
2797+
def "db metadata fetching enabled with sys = #sys env = #env"() {
2798+
setup:
2799+
if (sys != null) {
2800+
System.setProperty("dd.trace.db.metadata.fetching.enabled", sys)
2801+
}
2802+
if (env != null) {
2803+
environmentVariables.set("DD_TRACE_DB_METADATA_FETCHING_ENABLED", env)
2804+
}
2805+
2806+
when:
2807+
def config = new Config()
2808+
2809+
then:
2810+
config.isDbMetadataFetchingEnabled() == expected
2811+
2812+
where:
2813+
// spotless:off
2814+
sys | env | expected
2815+
null | null | true // default is true
2816+
null | "true" | true
2817+
null | "false" | false
2818+
"true" | null | true
2819+
"false" | null | false
2820+
"true" | "false" | true // sys prop takes precedence
2821+
"false" | "true" | false // sys prop takes precedence
2822+
// spotless:on
2823+
}
2824+
2825+
def "db client info fetching enabled with sys = #sys env = #env"() {
2826+
setup:
2827+
if (sys != null) {
2828+
System.setProperty("dd.trace.db.client.info.fetching.enabled", sys)
2829+
}
2830+
if (env != null) {
2831+
environmentVariables.set("DD_TRACE_DB_CLIENT_INFO_FETCHING_ENABLED", env)
2832+
}
2833+
2834+
when:
2835+
def config = new Config()
2836+
2837+
then:
2838+
config.isDbClientInfoFetchingEnabled() == expected
2839+
2840+
where:
2841+
// spotless:off
2842+
sys | env | expected
2843+
null | null | true // default is true
2844+
null | "true" | true
2845+
null | "false" | false
2846+
"true" | null | true
2847+
"false" | null | false
2848+
"true" | "false" | true // sys prop takes precedence
2849+
"false" | "true" | false // sys prop takes precedence
2850+
// spotless:on
2851+
}
27962852
}

0 commit comments

Comments
 (0)