Skip to content

Commit 59a364c

Browse files
committed
Replace smallrye metrics with micrometer
1 parent 04c45c0 commit 59a364c

4 files changed

Lines changed: 22 additions & 15 deletions

File tree

websocket-api-impl/pom.xml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@
4141
<groupId>io.quarkus</groupId>
4242
<artifactId>quarkus-jsonb</artifactId>
4343
</dependency>
44-
<dependency>
45-
<groupId>io.quarkus</groupId>
46-
<artifactId>quarkus-smallrye-metrics</artifactId>
47-
</dependency>
4844
<dependency>
4945
<groupId>io.quarkus</groupId>
5046
<artifactId>quarkus-smallrye-health</artifactId>
@@ -91,8 +87,8 @@
9187
<artifactId>microprofile-config-api</artifactId>
9288
</dependency>
9389
<dependency>
94-
<groupId>org.eclipse.microprofile.metrics</groupId>
95-
<artifactId>microprofile-metrics-api</artifactId>
90+
<groupId>io.quarkus</groupId>
91+
<artifactId>quarkus-micrometer-registry-prometheus</artifactId>
9692
</dependency>
9793
<dependency>
9894
<groupId>com.auth0</groupId>

websocket-api-impl/src/main/java/de/uni_stuttgart/tik/viplab/websocket_api/ComputationWebSocket.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import jakarta.websocket.Session;
2121
import jakarta.websocket.server.ServerEndpoint;
2222

23-
import org.eclipse.microprofile.metrics.annotation.Counted;
23+
import io.micrometer.core.annotation.Counted;
2424
import org.slf4j.Logger;
2525

2626
import com.auth0.jwt.interfaces.DecodedJWT;

websocket-api-impl/src/main/java/de/uni_stuttgart/tik/viplab/websocket_api/NotificationServiceImpl.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
import java.util.concurrent.CopyOnWriteArraySet;
77
import java.util.function.Consumer;
88

9+
import jakarta.annotation.PostConstruct;
910
import jakarta.enterprise.context.ApplicationScoped;
1011

11-
import org.eclipse.microprofile.metrics.MetricUnits;
12-
import org.eclipse.microprofile.metrics.annotation.Gauge;
13-
import org.eclipse.microprofile.metrics.annotation.Timed;
12+
import io.micrometer.core.instrument.MeterRegistry;
13+
import io.micrometer.core.instrument.Gauge;
14+
import io.micrometer.core.annotation.Timed;
1415

1516
import io.quarkus.scheduler.Scheduled;
17+
import jakarta.inject.Inject;
1618

1719
/**
1820
* This NotificationService handles WebSocket sessions and make it possible to
@@ -23,13 +25,22 @@
2325
public class NotificationServiceImpl implements NotificationService {
2426
private ConcurrentHashMap<String, Set<Session>> subscriptions = new ConcurrentHashMap<>();
2527

26-
@Gauge(name= "topics-count", unit = MetricUnits.NONE)
28+
@Inject
29+
MeterRegistry registry;
30+
31+
@PostConstruct
32+
public void init() {
33+
Gauge.builder("topics-count", this, NotificationServiceImpl::getTopicCount)
34+
.description("Number of subscriptions")
35+
.register(registry);
36+
}
37+
2738
public int getTopicCount() {
2839
return subscriptions.size();
2940
}
3041

3142
@Scheduled(every = "60s")
32-
@Timed(name = "subscriptions-cleanup")
43+
@Timed(value = "subscriptions-cleanup")
3344
protected void cleanUpSubscriptions() {
3445
this.subscriptions.forEach((topic, sessions) -> sessions.stream().filter(session -> !session.isOpen())
3546
.forEach(session -> this.unsubscribe(topic, session)));

websocket-api-impl/src/main/java/de/uni_stuttgart/tik/viplab/websocket_api/validation/ParameterValidatorImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import jakarta.enterprise.context.ApplicationScoped;
99

10-
import org.eclipse.microprofile.metrics.annotation.Timed;
10+
import io.micrometer.core.annotation.Timed;
1111
import org.json.JSONArray;
1212

1313
import de.uni_stuttgart.tik.viplab.websocket_api.model.AnyValueParameter;
@@ -21,7 +21,7 @@ public class ParameterValidatorImpl implements ParameterValidator {
2121
* Validate Parameters of mode any
2222
* Input can be String, Number or Array of Numbers
2323
*/
24-
@Timed(name = "InputValidation", description = "A measure of how long it takes to perform the validation of the input.")
24+
@Timed(value = "InputValidation", description = "A measure of how long it takes to perform the validation of the input.")
2525
@Override
2626
public boolean isValid(Object input, AnyValueParameter parameter) {
2727
boolean valid = true;
@@ -76,7 +76,7 @@ public boolean isValid(Object input, AnyValueParameter parameter) {
7676
* Validate Parameters of mode fixed
7777
* Input can be Array or String
7878
*/
79-
@Timed(name = "InputValidation", description = "A measure of how long it takes to perform the validation of the input.")
79+
@Timed(value = "InputValidation", description = "A measure of how long it takes to perform the validation of the input.")
8080
@Override
8181
public boolean isValid(Object input, FixedValueParameter parameter) {
8282
boolean valid = true;

0 commit comments

Comments
 (0)