Skip to content

Commit cdc09b9

Browse files
committed
Disable data source instrumentation in jdbc library instrumentation
1 parent 6752935 commit cdc09b9

File tree

5 files changed

+23
-10
lines changed

5 files changed

+23
-10
lines changed

instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
public final class JdbcTelemetryBuilder {
1919

2020
private final OpenTelemetry openTelemetry;
21-
private boolean dataSourceInstrumenterEnabled = true;
21+
private boolean dataSourceInstrumenterEnabled = false;
2222
private boolean statementInstrumenterEnabled = true;
2323
private boolean statementSanitizationEnabled = true;
2424
private boolean transactionInstrumenterEnabled = false;
@@ -34,7 +34,7 @@ public final class JdbcTelemetryBuilder {
3434
this.openTelemetry = openTelemetry;
3535
}
3636

37-
/** Configures whether spans are created for JDBC Connections. Enabled by default. */
37+
/** Configures whether spans are created for JDBC Connections. Disabled by default. */
3838
@CanIgnoreReturnValue
3939
public JdbcTelemetryBuilder setDataSourceInstrumenterEnabled(boolean enabled) {
4040
this.dataSourceInstrumenterEnabled = enabled;

instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ void buildWithDefaults() throws SQLException {
6060
trace ->
6161
trace.hasSpansSatisfyingExactly(
6262
span -> span.hasName("parent"),
63-
span -> span.hasName("TestDataSource.getConnection"),
6463
span ->
6564
span.hasName("SELECT dbname")
6665
.hasAttribute(equalTo(maybeStable(DB_STATEMENT), "SELECT ?;"))));
@@ -164,6 +163,7 @@ void buildWithDataSourceInstrumenterDisabled() throws SQLException {
164163
void buildWithStatementInstrumenterDisabled() throws SQLException {
165164
JdbcTelemetry telemetry =
166165
JdbcTelemetry.builder(testing.getOpenTelemetry())
166+
.setDataSourceInstrumenterEnabled(true)
167167
.setStatementInstrumenterEnabled(false)
168168
.build();
169169

@@ -180,10 +180,10 @@ void buildWithStatementInstrumenterDisabled() throws SQLException {
180180
}
181181

182182
@Test
183-
void buildWithTransactionInstrumenterDisabled() throws SQLException {
183+
void buildWithTransactionInstrumenterEnabled() throws SQLException {
184184
JdbcTelemetry telemetry =
185185
JdbcTelemetry.builder(testing.getOpenTelemetry())
186-
.setTransactionInstrumenterEnabled(false)
186+
.setTransactionInstrumenterEnabled(true)
187187
.build();
188188

189189
DataSource dataSource = telemetry.wrap(new TestDataSource());
@@ -200,7 +200,8 @@ void buildWithTransactionInstrumenterDisabled() throws SQLException {
200200
trace ->
201201
trace.hasSpansSatisfyingExactly(
202202
span -> span.hasName("parent"),
203-
span -> span.hasName("TestDataSource.getConnection")));
203+
span -> span.hasName("COMMIT"),
204+
span -> span.hasName("ROLLBACK")));
204205
}
205206

206207
@Test
@@ -219,7 +220,6 @@ void buildWithSanitizationDisabled() throws SQLException {
219220
trace ->
220221
trace.hasSpansSatisfyingExactly(
221222
span -> span.hasName("parent"),
222-
span -> span.hasName("TestDataSource.getConnection"),
223223
span ->
224224
span.hasName("SELECT dbname")
225225
.hasAttribute(equalTo(maybeStable(DB_STATEMENT), "SELECT 1;"))));
@@ -258,7 +258,6 @@ void batchStatement() throws SQLException {
258258
trace ->
259259
trace.hasSpansSatisfyingExactly(
260260
span -> span.hasName("parent"),
261-
span -> span.hasName("TestDataSource.getConnection"),
262261
span ->
263262
span.hasName(
264263
SemconvStability.emitStableDatabaseSemconv()

instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/OpenTelemetryDataSourceTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ class OpenTelemetryDataSourceTest {
4141
@ParameterizedTest
4242
@MethodSource("getConnectionMethodsArguments")
4343
void shouldEmitGetConnectionSpans(GetConnectionFunction getConnection) throws SQLException {
44-
JdbcTelemetry telemetry = JdbcTelemetry.create(testing.getOpenTelemetry());
44+
JdbcTelemetry telemetry =
45+
JdbcTelemetry.builder(testing.getOpenTelemetry())
46+
.setDataSourceInstrumenterEnabled(true)
47+
.build();
4548
DataSource dataSource = telemetry.wrap(new TestDataSource());
4649

4750
Connection connection = testing.runWithSpan("parent", () -> getConnection.call(dataSource));

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/instrumentation/jdbc/DataSourcePostProcessor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,12 @@ public Object postProcessAfterInitialization(Object bean, String beanName) {
7474
configPropertiesProvider
7575
.getObject()
7676
.getBoolean(
77-
"otel.instrumentation.jdbc.experimental.transaction.enabled", false));
77+
"otel.instrumentation.jdbc.experimental.transaction.enabled", false))
78+
.setDataSourceInstrumenterEnabled(
79+
configPropertiesProvider
80+
.getObject()
81+
.getBoolean(
82+
"otel.instrumentation.jdbc.experimental.datasource.enabled", false));
7883
Experimental.setEnableSqlCommenter(
7984
builder,
8085
configPropertiesProvider

instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,12 @@
369369
"description": "Enables experimental instrumentation to create spans for COMMIT and ROLLBACK operations.",
370370
"defaultValue": false
371371
},
372+
{
373+
"name": "otel.instrumentation.jdbc.experimental.datasource.enabled",
374+
"type": "java.lang.Boolean",
375+
"description": "Enables experimental instrumentation to create spans for <code>DataSource.getConnection</code> calls.",
376+
"defaultValue": false
377+
},
372378
{
373379
"name": "otel.instrumentation.jdbc.experimental.sqlcommenter.enabled",
374380
"type": "java.lang.Boolean",

0 commit comments

Comments
 (0)