Repository: quarkusio/quarkus
Issue: native-image specific micrometer-mp-metrics test failure in io.quarkus.micrometer.runtime.registry.json.JsonExporter, java.lang.NumberFormatException

**Describe the bug**
Micrometer test fails to parse output when run with native-image. It works just fine in JVM mode.

**Expected behavior**
The test passes for JVM mode and native-image alike.

**Actual behavior**
### JVM mode :heavy_check_mark: 
```
./mvnw verify -f integration-tests/pom.xml --fail-at-end -pl 'micrometer-mp-metrics' -Dno-format
[INFO] Results:
[INFO] 
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
```

### Native-image :x: 
See the whole log:  https://gist.github.com/Karm/85b8a1cd46b3c0764ef2ef3f64adf439
Snippet:
```
2020-10-13 22:02:33,434 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-7) HTTP Request to /metrics failed, error id: 55c54249-01ef-4623-8d73-a43ebb9ca0df-1: java.lang.NumberFormatException: Character N is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
	at java.math.BigDecimal.<init>(BigDecimal.java:518)
	at java.math.BigDecimal.<init>(BigDecimal.java:401)
	at java.math.BigDecimal.<init>(BigDecimal.java:834)
	at java.math.BigDecimal.valueOf(BigDecimal.java:1304)
	at org.glassfish.json.JsonNumberImpl.getJsonNumber(JsonNumberImpl.java:46)
	at org.glassfish.json.JsonProviderImpl.createValue(JsonProviderImpl.java:244)
	at io.quarkus.micrometer.runtime.registry.json.JsonExporter.lambda$exportGauges$2(JsonExporter.java:91)
	at java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:178)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at io.quarkus.micrometer.runtime.registry.json.JsonExporter.exportGauges(JsonExporter.java:90)
	at io.quarkus.micrometer.runtime.registry.json.JsonExporter.exportEverything(JsonExporter.java:78)
	at io.quarkus.micrometer.runtime.registry.json.JsonMeterRegistry.scrape(JsonMeterRegistry.java:115)
	at io.quarkus.micrometer.runtime.export.handlers.JsonHandler.handle(JsonHandler.java:34)
	at io.quarkus.micrometer.runtime.export.handlers.JsonHandler.handle(JsonHandler.java:15)
	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1036)
	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:131)
	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$4.handle(VertxHttpRecorder.java:306)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$4.handle(VertxHttpRecorder.java:284)
	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1036)
	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:131)
	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132)
	at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterFilter.handle(VertxMeterFilter.java:28)
	at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterFilter.handle(VertxMeterFilter.java:14)
	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1036)
	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:131)
	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132)
	at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:54)
	at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:36)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$9.handle(VertxHttpRecorder.java:396)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$9.handle(VertxHttpRecorder.java:393)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$1.handle(VertxHttpRecorder.java:137)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$1.handle(VertxHttpRecorder.java:126)
	at io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:50)
	at io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:32)
	at io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:136)
	at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
	at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43)
	at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:229)
	at io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:163)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
	at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:101)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.vertx.core.http.impl.Http1xUpgradeToH2CHandler.channelRead(Http1xUpgradeToH2CHandler.java:109)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.vertx.core.http.impl.Http1xOrH2CHandler.end(Http1xOrH2CHandler.java:61)
	at io.vertx.core.http.impl.Http1xOrH2CHandler.channelRead(Http1xOrH2CHandler.java:38)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)

{
    "details": "Error id 55c54249-01ef-4623-8d73-a43ebb9ca0df-1",
    "stack": ""
}
```

**To Reproduce**
```
 git clone https://github.com/quarkusio/quarkus.git
 cd quarkus/
 git fetch --tags
 git checkout 1.9.0.CR1
./mvnw verify -f integration-tests/pom.xml --fail-at-end -pl 'micrometer-mp-metrics' -Dno-format -Ddocker -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=registry.redhat.io/quarkus/mandrel-20-rhel8:20.1-12
```

**Environment (please complete the following information):**
 - Output of `uname -a` or `ver`:  Centos 8, 4.18.0-193.19.1.el8_2.x86_64
 - Output of `java -version`:   OpenJDK 11.0.8+10
 - GraalVM version (if different from Java): Mandrel 20.1.0.2.Final, builder image registry.redhat.io/quarkus/mandrel-20-rhel8:20.1-12
 - Quarkus version or git rev:  1.9.0.CR1

Changed files:
extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/JVMInfoBinder.java

diff --git a/extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/JVMInfoBinder.java b/extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/JVMInfoBinder.java
index 4d193494bcc..5db62a0c9f6 100644
--- a/extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/JVMInfoBinder.java
+++ b/extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/JVMInfoBinder.java
@@ -1,6 +1,6 @@
 package io.quarkus.micrometer.runtime.binder;
 
-import io.micrometer.core.instrument.Gauge;
+import io.micrometer.core.instrument.Counter;
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.binder.MeterBinder;
 
@@ -8,12 +8,12 @@ public class JVMInfoBinder implements MeterBinder {
 
     @Override
     public void bindTo(MeterRegistry registry) {
-        Gauge.builder("jvm_info", () -> 1L)
+        Counter.builder("jvm_info")
                 .description("JVM version info")
                 .tags("version", System.getProperty("java.runtime.version", "unknown"),
                         "vendor", System.getProperty("java.vm.vendor", "unknown"),
                         "runtime", System.getProperty("java.runtime.name", "unknown"))
-                .strongReference(true)
-                .register(registry);
+                .register(registry)
+                .increment();
     }
 }