-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
36.0.0.Final
-
None
-
---
-
---
User Boris Pran (https://github.com/borispran) reported the following in a wildfly.org github issue ( https://github.com/wildfly/wildfly.org/issues/796 ):
On Wildfly 36, enable micrometer extension and configure context
/extension=org.wildfly.extension.micrometer:add /subsystem=micrometer:add() /subsystem=micrometer/registry=prometheus:add(context=/prometheus)
than try to get metrics i.e. http://localhost:9990/prometheus and you'll get Internal Server Error!
09:30:37,817 ERROR [io.undertow.request] (management task-6) UT005071: Undertow request failed HttpServerExchange{ GET /prometheus}: java.lang.IllegalArgumentException: -1.0: counters cannot have a negative value
at io.prometheus//io.prometheus.metrics.model.snapshots.CounterSnapshot$CounterDataPointSnapshot.validate(CounterSnapshot.java:74)
at io.prometheus//io.prometheus.metrics.model.snapshots.CounterSnapshot$CounterDataPointSnapshot.<init>(CounterSnapshot.java:58)
at io.prometheus//io.prometheus.metrics.model.snapshots.CounterSnapshot$CounterDataPointSnapshot.<init>(CounterSnapshot.java:46)
at io.micrometer@1.14.5//io.micrometer.prometheusmetrics.PrometheusMeterRegistry.lambda$newFunctionCounter$20(PrometheusMeterRegistry.java:380)
at io.micrometer@1.14.5//io.micrometer.prometheusmetrics.MicrometerCollector.collect(MicrometerCollector.java:77)
at io.prometheus//io.prometheus.metrics.model.registry.PrometheusRegistry.scrape(PrometheusRegistry.java:72)
at io.prometheus//io.prometheus.metrics.model.registry.PrometheusRegistry.scrape(PrometheusRegistry.java:57)
at io.micrometer@1.14.5//io.micrometer.prometheusmetrics.PrometheusMeterRegistry.scrape(PrometheusMeterRegistry.java:166)
at io.micrometer@1.14.5//io.micrometer.prometheusmetrics.PrometheusMeterRegistry.scrape(PrometheusMeterRegistry.java:139)
at io.micrometer@1.14.5//io.micrometer.prometheusmetrics.PrometheusMeterRegistry.scrape(PrometheusMeterRegistry.java:127)
at org.wildfly.extension.micrometer@36.0.1.Final//org.wildfly.extension.micrometer.prometheus.PrometheusRegistryDefinitionRegistrar.lambda$configure$0(PrometheusRegistryDefinitionRegistrar.java:101)
at org.jboss.as.domain-http-interface@28.0.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:45)
at org.wildfly.security.elytron-base@2.6.4.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.6.4.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@28.0.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:237)
at org.jboss.as.controller@28.0.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:208)
at org.jboss.as.domain-http-interface@28.0.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:44)
at io.undertow.core@2.3.18.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.18.Final//io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
at io.undertow.core@2.3.18.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
at io.undertow.core@2.3.18.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:861)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at org.jboss.xnio@3.8.16.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
at java.base/java.lang.Thread.run(Thread.java:1583)
When I get metrics from {}/metrics{} I can see that there is more than one counter with -1.0 value