diff --git a/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java b/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java index b7bf482799c2c..8d10a198e13aa 100644 --- a/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java +++ b/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java @@ -115,12 +115,6 @@ void build( for (AggregatedDataSourceBuildTimeConfigBuildItem aggregatedDataSourceBuildTimeConfig : aggregatedDataSourceBuildTimeConfigs) { validateBuildTimeConfig(aggregatedDataSourceBuildTimeConfig); - if (aggregatedDataSourceBuildTimeConfig.getJdbcConfig().tracing()) { - reflectiveClass - .produce(ReflectiveClassBuildItem.builder(DataSources.TRACING_DRIVER_CLASSNAME).methods() - .build()); - } - if (aggregatedDataSourceBuildTimeConfig.getJdbcConfig().telemetry()) { otelJdbcInstrumentationActive = true; } @@ -165,14 +159,6 @@ private static void validateBuildTimeConfig(AggregatedDataSourceBuildTimeConfigB String fullDataSourceName = aggregatedConfig.isDefault() ? "default datasource" : "datasource named '" + aggregatedConfig.getName() + "'"; - if (jdbcBuildTimeConfig.tracing()) { - if (!QuarkusClassLoader.isClassPresentAtRuntime(DataSources.TRACING_DRIVER_CLASSNAME)) { - throw new ConfigurationException( - "Unable to load the tracing driver " + DataSources.TRACING_DRIVER_CLASSNAME + " for the " - + fullDataSourceName); - } - } - String driverName = aggregatedConfig.getResolvedDriverClass(); Class driver; try { diff --git a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java index 0c6525ab55edd..e50624f04206e 100644 --- a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java +++ b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java @@ -38,12 +38,6 @@ public interface DataSourceJdbcBuildTimeConfig { */ Optional enableMetrics(); - /** - * Enable JDBC tracing. Disabled by default. - */ - @WithDefault("false") - boolean tracing(); - /** * Enable OpenTelemetry JDBC instrumentation. */ diff --git a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcRuntimeConfig.java b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcRuntimeConfig.java index 60ab80b51c658..4df3e21ca8820 100644 --- a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcRuntimeConfig.java +++ b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcRuntimeConfig.java @@ -144,14 +144,6 @@ public interface DataSourceJdbcRuntimeConfig { @ConfigDocMapKey("property-key") Map additionalJdbcProperties(); - /** - * Enable JDBC tracing. - * - * @deprecated in favor of OpenTelemetry {@link #telemetry()} - */ - @Deprecated(forRemoval = true, since = "3.16") - DataSourceJdbcTracingRuntimeConfig tracing(); - /** * Enable OpenTelemetry JDBC instrumentation. */ diff --git a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcTracingRuntimeConfig.java b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcTracingRuntimeConfig.java deleted file mode 100644 index 53230396da71f..0000000000000 --- a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcTracingRuntimeConfig.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.quarkus.agroal.runtime; - -import java.util.Optional; - -import io.quarkus.runtime.annotations.ConfigDocDefault; -import io.quarkus.runtime.annotations.ConfigGroup; -import io.smallrye.config.WithDefault; - -/** - * @deprecated in favor of OpenTelemetry {@link DataSourceJdbcRuntimeConfig#telemetry()} - */ -@ConfigGroup -@Deprecated(forRemoval = true, since = "3.16") -public interface DataSourceJdbcTracingRuntimeConfig { - - /** - * Enable JDBC tracing. - */ - @ConfigDocDefault("false if quarkus.datasource.jdbc.tracing=false and true if quarkus.datasource.jdbc.tracing=true") - Optional enabled(); - - /** - * Trace calls with active Spans only - */ - @WithDefault("false") - boolean traceWithActiveSpanOnly(); - - /** - * Ignore specific queries from being traced - */ - @ConfigDocDefault("Ignore specific queries from being traced, multiple queries can be specified separated by semicolon, double quotes should be escaped with \\") - Optional ignoreForTracing(); - -} diff --git a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSources.java b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSources.java index 5f72e43467730..4ecd25d404fc0 100644 --- a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSources.java +++ b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSources.java @@ -3,7 +3,6 @@ import java.sql.Connection; import java.sql.Driver; import java.sql.Statement; -import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.Map; @@ -68,10 +67,6 @@ public class DataSources { private static final Logger log = Logger.getLogger(DataSources.class.getName()); - public static final String TRACING_DRIVER_CLASSNAME = "io.opentracing.contrib.jdbc.TracingDriver"; - private static final String JDBC_URL_PREFIX = "jdbc:"; - private static final String JDBC_TRACING_URL_PREFIX = "jdbc:tracing:"; - private final DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig; private final DataSourcesRuntimeConfig dataSourcesRuntimeConfig; private final DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig; @@ -206,45 +201,6 @@ public AgroalDataSource doCreateDataSource(String dataSourceName, boolean failIf String jdbcUrl = dataSourceJdbcRuntimeConfig.url().get(); - if (dataSourceJdbcBuildTimeConfig.tracing()) { - boolean tracingEnabled = dataSourceJdbcRuntimeConfig.tracing().enabled() - .orElse(dataSourceJdbcBuildTimeConfig.tracing()); - - if (tracingEnabled) { - String rootTracingUrl = !jdbcUrl.startsWith(JDBC_TRACING_URL_PREFIX) - ? jdbcUrl.replace(JDBC_URL_PREFIX, JDBC_TRACING_URL_PREFIX) - : jdbcUrl; - - StringBuilder tracingURL = new StringBuilder(rootTracingUrl); - - if (dataSourceJdbcRuntimeConfig.tracing().traceWithActiveSpanOnly()) { - if (!tracingURL.toString().contains("?")) { - tracingURL.append("?"); - } - - tracingURL.append("traceWithActiveSpanOnly=true"); - } - - if (dataSourceJdbcRuntimeConfig.tracing().ignoreForTracing().isPresent()) { - if (!tracingURL.toString().contains("?")) { - tracingURL.append("?"); - } - - Arrays.stream(dataSourceJdbcRuntimeConfig.tracing().ignoreForTracing().get().split(";")) - .filter(query -> !query.isEmpty()) - .forEach(query -> tracingURL.append("ignoreForTracing=") - .append(query.replaceAll("\"", "\\\"")) - .append(";")); - } - - // Override datasource URL with tracing driver prefixed URL - jdbcUrl = tracingURL.toString(); - - //remove driver class so that agroal connectionFactory will use the tracking driver anyway - driver = null; - } - } - String resolvedDbKind = matchingSupportEntry.resolvedDbKind; AgroalConnectionConfigurer agroalConnectionConfigurer = Arc.container() .instance(AgroalConnectionConfigurer.class, new JdbcDriverLiteral(resolvedDbKind))