Skip to content

Commit 26ae6d4

Browse files
committed
Drop the property quarkus.datasource.jdbc.metrics-enabled
Signed-off-by: Matheus Cruz <[email protected]>
1 parent 55a8eeb commit 26ae6d4

File tree

9 files changed

+25
-23
lines changed

9 files changed

+25
-23
lines changed

docs/src/main/asciidoc/datasource.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -645,10 +645,10 @@ This can be activated by setting the `quarkus.datasource.metrics.enabled` proper
645645
For the exposed metrics to contain any actual values, a metric collection must be enabled internally by the Agroal mechanisms.
646646
By default, this metric collection mechanism is enabled for all datasources when a metrics extension is present, and metrics for the Agroal extension are enabled.
647647

648-
To disable metrics for a particular datasource, set `quarkus.datasource.jdbc.enable-metrics` to `false`, or apply `quarkus.datasource.<datasource name>.jdbc.enable-metrics` for a named datasource.
648+
To disable metrics for a particular datasource, set `quarkus.datasource.jdbc.metrics.enabled` to `false`, or apply `quarkus.datasource.<datasource name>.jdbc.metrics.enabled` for a named datasource.
649649
This disables collecting the metrics and exposing them in the `/q/metrics` endpoint if the mechanism to collect them is disabled.
650650

651-
Conversely, setting `quarkus.datasource.jdbc.enable-metrics` to `true`, or `quarkus.datasource.<datasource name>.jdbc.enable-metrics` for a named datasource explicitly enables metrics collection even if a metrics extension is not in use.
651+
Conversely, setting `quarkus.datasource.jdbc.metrics.enabled` to `true`, or `quarkus.datasource.<datasource name>.jdbc.metrics.enabled` for a named datasource explicitly enables metrics collection even if a metrics extension is not in use.
652652
This can be useful if you need to access the collected metrics programmatically.
653653
They are available after calling `dataSource.getMetrics()` on an injected `AgroalDataSource` instance.
654654

extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalMetricsProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void registerMetrics(AgroalMetricsRecorder recorder,
2424
// IFF metrics are enabled globally and for the data source
2525
// (they are enabled for each data source by default if they are also enabled globally)
2626
if (dataSourcesBuildTimeConfig.metricsEnabled() &&
27-
aggregatedDataSourceBuildTimeConfig.getJdbcConfig().enableMetrics().orElse(true)) {
27+
aggregatedDataSourceBuildTimeConfig.getJdbcConfig().metrics().enabled().orElse(true)) {
2828
datasourceMetrics.produce(new MetricsFactoryConsumerBuildItem(
2929
recorder.registerDataSourceMetrics(aggregatedDataSourceBuildTimeConfig.getName())));
3030
}

extensions/agroal/deployment/src/test/java/io/quarkus/agroal/test/PoolLessTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class PoolLessTestCase {
1717

1818
@RegisterExtension
1919
static final QuarkusUnitTest config = new QuarkusUnitTest().withConfigurationResource("base.properties")
20-
.overrideConfigKey("quarkus.datasource.jdbc.enable-metrics", "true")
20+
.overrideConfigKey("quarkus.datasource.jdbc.metrics.enabled", "true")
2121
.overrideConfigKey("quarkus.datasource.jdbc.pooling-enabled", "false");
2222

2323
@Inject

extensions/agroal/deployment/src/test/resources/application-default-datasource-unknown-driver.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:default
55
quarkus.datasource.jdbc.driver=org.h2.Driver
66
quarkus.datasource.jdbc.max-size=13
77
quarkus.datasource.jdbc.initial-size=7
8-
quarkus.datasource.jdbc.enable-metrics=true
8+
quarkus.datasource.jdbc.metrics.enabled=true
99

1010
quarkus.datasource.jdbc.background-validation-interval=53
1111
quarkus.datasource.jdbc.acquisition-timeout=54

extensions/agroal/deployment/src/test/resources/application-default-datasource.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:default
55
quarkus.datasource.jdbc.min-size=3
66
quarkus.datasource.jdbc.initial-size=7
77
quarkus.datasource.jdbc.max-size=13
8-
quarkus.datasource.jdbc.enable-metrics=true
8+
quarkus.datasource.jdbc.metrics.enabled=true
99
quarkus.datasource.jdbc.background-validation-interval=53
1010
quarkus.datasource.jdbc.acquisition-timeout=54
1111
quarkus.datasource.jdbc.leak-detection-interval=55

extensions/agroal/deployment/src/test/resources/application-metrics-enabled.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ quarkus.datasource.db-kind=h2
55
quarkus.datasource.username=username1
66
quarkus.datasource.jdbc.url=jdbc:h2:mem:defaultdb
77
quarkus.datasource.jdbc.max-size=13
8-
quarkus.datasource.jdbc.enable-metrics=true
8+
quarkus.datasource.jdbc.metrics.enabled=true
99

1010
# another ds
1111
quarkus.datasource.ds1.db-kind=h2
1212
quarkus.datasource.ds1.username=username1
1313
quarkus.datasource.ds1.jdbc.url=jdbc:h2:mem:db1
1414
quarkus.datasource.ds1.jdbc.max-size=13
15-
quarkus.datasource.ds1.jdbc.enable-metrics=true
15+
quarkus.datasource.ds1.jdbc.metrics.enabled=true

extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,22 @@ public interface DataSourceJdbcBuildTimeConfig {
3131
@WithDefault("enabled")
3232
TransactionIntegration transactions();
3333

34-
/**
35-
* Enable datasource metrics collection. If unspecified, collecting metrics will be enabled by default if
36-
* a metrics extension is active.
37-
* <p>
38-
* Deprecated. This was used by the now deprecated quarkus-smallrye-metrics and will be removed soon.
39-
* <p>
40-
* Please use quarkus-micrometer and the quarkus.datasource.metrics.enabled property
41-
*/
42-
@Deprecated(forRemoval = true)
43-
Optional<Boolean> enableMetrics();
44-
4534
/**
4635
* Enable OpenTelemetry JDBC instrumentation.
4736
*/
4837
@WithDefault("false")
4938
boolean telemetry();
39+
40+
DataSourceJdbcMetrics metrics();
41+
42+
@ConfigGroup
43+
interface DataSourceJdbcMetrics {
44+
45+
/**
46+
* Enable metrics collection for this datasource.
47+
*/
48+
@WithDefault("false")
49+
Optional<Boolean> enabled();
50+
51+
}
5052
}

extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSources.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,8 @@ private void applyNewConfiguration(String dataSourceName, AgroalDataSourceConfig
276276
}
277277

278278
// metrics
279-
if (dataSourceJdbcBuildTimeConfig.enableMetrics().isPresent()) {
280-
dataSourceConfiguration.metricsEnabled(dataSourceJdbcBuildTimeConfig.enableMetrics().get());
279+
if (dataSourceJdbcBuildTimeConfig.metrics().enabled().isPresent()) {
280+
dataSourceConfiguration.metricsEnabled(dataSourceJdbcBuildTimeConfig.metrics().enabled().get());
281281
} else {
282282
// if the enable-metrics property is unspecified, treat it as true if MP Metrics are being exposed
283283
dataSourceConfiguration.metricsEnabled(dataSourcesBuildTimeConfig.metricsEnabled() && mpMetricsPresent);

extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourcesBuildTimeConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ public interface DataSourcesBuildTimeConfig {
3737
boolean healthEnabled();
3838

3939
/**
40-
* Whether or not datasource metrics are published in case a metrics extension is present.
40+
* Whether datasource metrics are published in case a metrics extension is present.
4141
* <p>
4242
* This is a global setting and is not specific to a datasource.
4343
* <p>
44-
* NOTE: This is different from the "jdbc.enable-metrics" property that needs to be set on the JDBC datasource level to
44+
* NOTE: This is different from the <code>quarkus.datasource."datasource name".jdbc.metrics.enabled</code> property that needs to be set on the JDBC datasource level to
4545
* enable collection of metrics for that datasource.
4646
*/
4747
@WithName("metrics.enabled")

0 commit comments

Comments
 (0)