Skip to content

Commit 2fcf402

Browse files
committed
Deprecate SmallRye Metrics
1 parent 1dc21e4 commit 2fcf402

File tree

15 files changed

+59
-1
lines changed

15 files changed

+59
-1
lines changed

extensions/agroal/deployment/pom.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@
112112
<artifactId>maven-surefire-plugin</artifactId>
113113
<configuration>
114114
<runOrder>alphabetical</runOrder>
115+
<systemPropertyVariables>
116+
<quarkus.smallrye-metrics.deprecated.enabled>true</quarkus.smallrye-metrics.deprecated.enabled>
117+
</systemPropertyVariables>
115118
</configuration>
116119
</plugin>
117120
<plugin>

extensions/hibernate-orm/deployment/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@
134134
<plugins>
135135
<plugin>
136136
<artifactId>maven-surefire-plugin</artifactId>
137+
<configuration>
138+
<systemPropertyVariables>
139+
<quarkus.smallrye-metrics.deprecated.enabled>true</quarkus.smallrye-metrics.deprecated.enabled>
140+
</systemPropertyVariables>
141+
</configuration>
137142
<executions>
138143
<execution>
139144
<id>default-test</id>

extensions/quartz/deployment/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,14 @@
7171
</execution>
7272
</executions>
7373
</plugin>
74+
<plugin>
75+
<artifactId>maven-surefire-plugin</artifactId>
76+
<configuration>
77+
<systemPropertyVariables>
78+
<quarkus.smallrye-metrics.deprecated.enabled>true</quarkus.smallrye-metrics.deprecated.enabled>
79+
</systemPropertyVariables>
80+
</configuration>
81+
</plugin>
7482
</plugins>
7583
</build>
7684
</project>

extensions/smallrye-graphql/deployment/pom.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@
121121
true, some as false, so we need to create a separate JVM per test to run the initializer each time separately.
122122
This is reported as https://github.com/smallrye/smallrye-graphql/issues/2039 -->
123123
<reuseForks>false</reuseForks>
124+
<systemPropertyVariables>
125+
<quarkus.smallrye-metrics.deprecated.enabled>true</quarkus.smallrye-metrics.deprecated.enabled>
126+
</systemPropertyVariables>
124127
</configuration>
125128
</plugin>
126129
</plugins>

extensions/smallrye-metrics/deployment/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,14 @@
9797
</execution>
9898
</executions>
9999
</plugin>
100+
<plugin>
101+
<artifactId>maven-surefire-plugin</artifactId>
102+
<configuration>
103+
<systemPropertyVariables>
104+
<quarkus.smallrye-metrics.deprecated.enabled>true</quarkus.smallrye-metrics.deprecated.enabled>
105+
</systemPropertyVariables>
106+
</configuration>
107+
</plugin>
100108
</plugins>
101109
</build>
102110

extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ public interface SmallRyeMetricsConfig {
1818
@WithDefault("metrics")
1919
String path();
2020

21+
/**
22+
* If the extension should be enabled even if deprecated and scheduled for removal.
23+
*/
24+
@WithName("deprecated.enabled")
25+
@WithDefault("false")
26+
boolean deprecatedEnabled();
27+
2128
/**
2229
* Whether metrics published by Quarkus extensions should be enabled.
2330
*/

extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsProcessor.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import io.quarkus.arc.processor.BuiltinScope;
5454
import io.quarkus.arc.processor.DotNames;
5555
import io.quarkus.arc.processor.InterceptorInfo;
56+
import io.quarkus.builder.BuildException;
5657
import io.quarkus.deployment.Feature;
5758
import io.quarkus.deployment.annotations.BuildProducer;
5859
import io.quarkus.deployment.annotations.BuildStep;
@@ -97,7 +98,19 @@ MetricsConfigurationBuildItem metricsConfigurationBuildItem() {
9798
}
9899

99100
@BuildStep
100-
MetricsCapabilityBuildItem metricsCapabilityBuildItem(NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem) {
101+
MetricsCapabilityBuildItem metricsCapabilityBuildItem(NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem)
102+
throws BuildException {
103+
if (!metrics.deprecatedEnabled()) {
104+
throw new BuildException("""
105+
The Quarkus SmallRye Metrics is deprecated and will be removed in the near future. Please \
106+
check our announcement at https://quarkus.io/blog/quarkus-observability-roadmap-2023/. Our \
107+
recommendation is to migrate to Quarkus Micrometer Metrics \
108+
https://quarkus.io/guides/telemetry-micrometer. If you wish to keep using Quarkus SmallRye \
109+
Metrics, please reenable it with the configuration \
110+
"quarkus.smallrye-metrics.deprecated.enabled=true".
111+
""");
112+
}
113+
101114
if (metrics.extensionsEnabled()) {
102115
return new MetricsCapabilityBuildItem(MetricsFactory.MP_METRICS::equals,
103116
nonApplicationRootPathBuildItem.resolvePath(metrics.path()));

integration-tests/hibernate-orm-panache/src/main/resources/application.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
quarkus.smallrye-metrics.deprecated.enabled=true
2+
13
quarkus.datasource.db-kind=h2
24
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
35
quarkus.datasource.jdbc.max-size=8

integration-tests/hibernate-orm-panache/src/main/resources/ddlgeneration.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
quarkus.smallrye-metrics.deprecated.enabled=true
2+
13
quarkus.datasource.db-kind=h2
24
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
35
quarkus.datasource.jdbc.max-size=8

integration-tests/hibernate-orm-panache/src/main/resources/nopaging.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
quarkus.smallrye-metrics.deprecated.enabled=true
2+
13
quarkus.datasource.db-kind=h2
24
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
35
quarkus.datasource.jdbc.max-size=8

0 commit comments

Comments
 (0)