diff --git a/pom.xml b/pom.xml
index 5e03e84..8cb60fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
com.uid2.core.vertx.CoreVerticle
io.vertx.core.Launcher
- 8.0.25
+ 8.0.32
${project.version}
diff --git a/src/main/java/com/uid2/core/Main.java b/src/main/java/com/uid2/core/Main.java
index 5451a47..d57b1cf 100644
--- a/src/main/java/com/uid2/core/Main.java
+++ b/src/main/java/com/uid2/core/Main.java
@@ -25,6 +25,7 @@
import com.uid2.shared.secure.nitro.InMemoryAWSCertificateStore;
import com.uid2.shared.store.CloudPath;
import com.uid2.shared.store.scope.GlobalScope;
+import com.uid2.shared.util.HTTPPathMetricFilter;
import com.uid2.shared.vertx.RotatingStoreVerticle;
import com.uid2.shared.vertx.VertxUtils;
import io.micrometer.core.instrument.Gauge;
@@ -187,14 +188,8 @@ private static void setupMetrics(MicrometerMetricsOptions metricOptions) {
prometheusRegistry.config()
// providing common renaming for prometheus metric, e.g. "hello.world" to "hello_world"
.meterFilter(new PrometheusRenameFilter())
- .meterFilter(MeterFilter.replaceTagValues(Label.HTTP_PATH.toString(), actualPath -> {
- try {
- String normalized = HttpUtils.normalizePath(actualPath).split("\\?")[0];
- return Endpoints.pathSet().contains(normalized) ? normalized : "/unknown";
- } catch (IllegalArgumentException e) {
- return actualPath;
- }
- }))
+ .meterFilter(MeterFilter.replaceTagValues(Label.HTTP_PATH.toString(),
+ actualPath -> HTTPPathMetricFilter.filterPath(actualPath, Endpoints.pathSet())))
// Don't record metrics for 404s.
.meterFilter(MeterFilter.deny(id ->
id.getName().startsWith(MetricsDomain.HTTP_SERVER.getPrefix()) &&