diff --git a/build.gradle b/build.gradle index 11e29cbb..a8bdfc83 100644 --- a/build.gradle +++ b/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation group: 'org.apache.olingo', name: 'odata-server-core-ext', version: olingo_version implementation group: 'com.sap.cds', name: 'cds4j-core', version: '2.9.2' - implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: '1.12.6' + implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: '1.13.2' implementation group: 'org.ow2.asm', name: 'asm', version: '9.7' implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13' diff --git a/src/main/java/io/neonbee/endpoint/metrics/MetricsEndpoint.java b/src/main/java/io/neonbee/endpoint/metrics/MetricsEndpoint.java index 97d773e9..3364c8ac 100644 --- a/src/main/java/io/neonbee/endpoint/metrics/MetricsEndpoint.java +++ b/src/main/java/io/neonbee/endpoint/metrics/MetricsEndpoint.java @@ -4,7 +4,7 @@ import static io.vertx.core.Future.succeededFuture; import io.micrometer.core.instrument.composite.CompositeMeterRegistry; -import io.micrometer.prometheus.PrometheusConfig; +import io.micrometer.prometheusmetrics.PrometheusConfig; import io.neonbee.NeonBee; import io.neonbee.config.EndpointConfig; import io.neonbee.endpoint.Endpoint; diff --git a/src/main/java/io/neonbee/endpoint/metrics/NeonBeePrometheusMeterRegistry.java b/src/main/java/io/neonbee/endpoint/metrics/NeonBeePrometheusMeterRegistry.java index 55400479..619a175d 100644 --- a/src/main/java/io/neonbee/endpoint/metrics/NeonBeePrometheusMeterRegistry.java +++ b/src/main/java/io/neonbee/endpoint/metrics/NeonBeePrometheusMeterRegistry.java @@ -1,16 +1,16 @@ package io.neonbee.endpoint.metrics; import io.micrometer.core.instrument.Clock; -import io.micrometer.prometheus.PrometheusConfig; -import io.micrometer.prometheus.PrometheusMeterRegistry; -import io.prometheus.client.CollectorRegistry; +import io.micrometer.prometheusmetrics.PrometheusConfig; +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry; +import io.prometheus.metrics.model.registry.PrometheusRegistry; class NeonBeePrometheusMeterRegistry extends PrometheusMeterRegistry { NeonBeePrometheusMeterRegistry(PrometheusConfig config) { super(config); } - NeonBeePrometheusMeterRegistry(PrometheusConfig config, CollectorRegistry registry, Clock clock) { + NeonBeePrometheusMeterRegistry(PrometheusConfig config, PrometheusRegistry registry, Clock clock) { super(config, registry, clock); } } diff --git a/src/main/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandler.java b/src/main/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandler.java index ad98a43e..25ec714e 100644 --- a/src/main/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandler.java +++ b/src/main/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandler.java @@ -2,10 +2,9 @@ import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.composite.CompositeMeterRegistry; -import io.micrometer.prometheus.PrometheusMeterRegistry; +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry; import io.neonbee.logging.LoggingFacade; import io.netty.handler.codec.http.HttpResponseStatus; -import io.prometheus.client.exporter.common.TextFormat; import io.vertx.core.http.HttpHeaders; import io.vertx.ext.web.RoutingContext; import io.vertx.micrometer.backends.BackendRegistries; @@ -46,7 +45,9 @@ private static void noPrometheusMeterRegistryPresent(RoutingContext rc) { } private static void handleWithPrometheusMeterRegistry(RoutingContext rc, PrometheusMeterRegistry pmr) { - rc.response().putHeader(HttpHeaders.CONTENT_TYPE, TextFormat.CONTENT_TYPE_004).end(pmr.scrape()); + rc.response() + .putHeader(HttpHeaders.CONTENT_TYPE, "text/plain; version=0.0.4; charset=utf-8") + .end(pmr.scrape()); } @Override diff --git a/src/test/java/io/neonbee/config/NeonBeeConfigTest.java b/src/test/java/io/neonbee/config/NeonBeeConfigTest.java index 0bd43ade..b79446bc 100644 --- a/src/test/java/io/neonbee/config/NeonBeeConfigTest.java +++ b/src/test/java/io/neonbee/config/NeonBeeConfigTest.java @@ -22,7 +22,7 @@ import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.composite.CompositeMeterRegistry; -import io.micrometer.prometheus.PrometheusMeterRegistry; +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry; import io.neonbee.config.metrics.MicrometerRegistryLoader; import io.neonbee.test.base.NeonBeeTestBase; import io.neonbee.test.helper.WorkingDirectoryBuilder; diff --git a/src/test/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandlerTest.java b/src/test/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandlerTest.java index 89822383..975b7609 100644 --- a/src/test/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandlerTest.java +++ b/src/test/java/io/neonbee/endpoint/metrics/PrometheusScrapingHandlerTest.java @@ -14,10 +14,9 @@ import org.mockito.junit.jupiter.MockitoExtension; import io.micrometer.core.instrument.composite.CompositeMeterRegistry; -import io.micrometer.prometheus.PrometheusConfig; -import io.micrometer.prometheus.PrometheusMeterRegistry; +import io.micrometer.prometheusmetrics.PrometheusConfig; +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry; import io.netty.handler.codec.http.HttpResponseStatus; -import io.prometheus.client.exporter.common.TextFormat; import io.vertx.core.Future; import io.vertx.core.http.HttpHeaders; import io.vertx.core.http.HttpServerResponse; @@ -68,7 +67,8 @@ void testPrometheusMeterRegistry() { nph.handle(rcMock); assertThat(contentTypeCaptor.getValue().toString()).isEqualTo(HttpHeaders.CONTENT_TYPE.toString()); - assertThat(contentTypeCaptor004.getValue().toString()).isEqualTo(TextFormat.CONTENT_TYPE_004); + assertThat(contentTypeCaptor004.getValue().toString()) + .isEqualTo("text/plain; version=0.0.4; charset=utf-8"); } } }