public class io.vertx.micrometer.impl.VertxMetricsFactoryImpl implements io.vertx.core.spi.VertxMetricsFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.micrometer.impl.VertxMetricsFactoryImpl
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/micrometer/impl/VertxMetricsFactoryImpl;

  public io.vertx.core.spi.metrics.VertxMetrics metrics(io.vertx.core.VertxOptions);
    descriptor: (Lio/vertx/core/VertxOptions;)Lio/vertx/core/spi/metrics/VertxMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
        start local 1 // io.vertx.core.VertxOptions vertxOptions
         0: .line 39
            aload 1 /* vertxOptions */
            invokevirtual io.vertx.core.VertxOptions.getMetricsOptions:()Lio/vertx/core/metrics/MetricsOptions;
            astore 2 /* metricsOptions */
        start local 2 // io.vertx.core.metrics.MetricsOptions metricsOptions
         1: .line 41
            aload 2 /* metricsOptions */
            instanceof io.vertx.micrometer.MicrometerMetricsOptions
            ifeq 4
         2: .line 42
            aload 2 /* metricsOptions */
            checkcast io.vertx.micrometer.MicrometerMetricsOptions
            astore 3 /* options */
        start local 3 // io.vertx.micrometer.MicrometerMetricsOptions options
         3: .line 43
            goto 5
        end local 3 // io.vertx.micrometer.MicrometerMetricsOptions options
         4: .line 44
      StackMap locals: io.vertx.core.metrics.MetricsOptions
      StackMap stack:
            new io.vertx.micrometer.MicrometerMetricsOptions
            dup
            aload 2 /* metricsOptions */
            invokevirtual io.vertx.core.metrics.MetricsOptions.toJson:()Lio/vertx/core/json/JsonObject;
            invokespecial io.vertx.micrometer.MicrometerMetricsOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            astore 3 /* options */
        start local 3 // io.vertx.micrometer.MicrometerMetricsOptions options
         5: .line 46
      StackMap locals: io.vertx.micrometer.MicrometerMetricsOptions
      StackMap stack:
            aload 3 /* options */
            invokestatic io.vertx.micrometer.backends.BackendRegistries.setupBackend:(Lio/vertx/micrometer/MicrometerMetricsOptions;)Lio/vertx/micrometer/backends/BackendRegistry;
            astore 4 /* backendRegistry */
        start local 4 // io.vertx.micrometer.backends.BackendRegistry backendRegistry
         6: .line 47
            new io.vertx.micrometer.impl.VertxMetricsImpl
            dup
            aload 3 /* options */
            aload 4 /* backendRegistry */
            invokespecial io.vertx.micrometer.impl.VertxMetricsImpl.<init>:(Lio/vertx/micrometer/MicrometerMetricsOptions;Lio/vertx/micrometer/backends/BackendRegistry;)V
            astore 5 /* metrics */
        start local 5 // io.vertx.micrometer.impl.VertxMetricsImpl metrics
         7: .line 48
            aload 5 /* metrics */
            invokevirtual io.vertx.micrometer.impl.VertxMetricsImpl.init:()V
         8: .line 50
            aload 3 /* options */
            invokevirtual io.vertx.micrometer.MicrometerMetricsOptions.isJvmMetricsEnabled:()Z
            ifeq 14
         9: .line 51
            new io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics
            dup
            invokespecial io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics.<init>:()V
            aload 4 /* backendRegistry */
            invokeinterface io.vertx.micrometer.backends.BackendRegistry.getMeterRegistry:()Lio/micrometer/core/instrument/MeterRegistry;
            invokevirtual io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics.bindTo:(Lio/micrometer/core/instrument/MeterRegistry;)V
        10: .line 52
            new io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics
            dup
            invokespecial io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics.<init>:()V
            aload 4 /* backendRegistry */
            invokeinterface io.vertx.micrometer.backends.BackendRegistry.getMeterRegistry:()Lio/micrometer/core/instrument/MeterRegistry;
            invokevirtual io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics.bindTo:(Lio/micrometer/core/instrument/MeterRegistry;)V
        11: .line 53
            new io.micrometer.core.instrument.binder.jvm.JvmGcMetrics
            dup
            invokespecial io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.<init>:()V
            aload 4 /* backendRegistry */
            invokeinterface io.vertx.micrometer.backends.BackendRegistry.getMeterRegistry:()Lio/micrometer/core/instrument/MeterRegistry;
            invokevirtual io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.bindTo:(Lio/micrometer/core/instrument/MeterRegistry;)V
        12: .line 54
            new io.micrometer.core.instrument.binder.system.ProcessorMetrics
            dup
            invokespecial io.micrometer.core.instrument.binder.system.ProcessorMetrics.<init>:()V
            aload 4 /* backendRegistry */
            invokeinterface io.vertx.micrometer.backends.BackendRegistry.getMeterRegistry:()Lio/micrometer/core/instrument/MeterRegistry;
            invokevirtual io.micrometer.core.instrument.binder.system.ProcessorMetrics.bindTo:(Lio/micrometer/core/instrument/MeterRegistry;)V
        13: .line 55
            new io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics
            dup
            invokespecial io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics.<init>:()V
            aload 4 /* backendRegistry */
            invokeinterface io.vertx.micrometer.backends.BackendRegistry.getMeterRegistry:()Lio/micrometer/core/instrument/MeterRegistry;
            invokevirtual io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics.bindTo:(Lio/micrometer/core/instrument/MeterRegistry;)V
        14: .line 58
      StackMap locals: io.vertx.micrometer.backends.BackendRegistry io.vertx.micrometer.impl.VertxMetricsImpl
      StackMap stack:
            aload 5 /* metrics */
            areturn
        end local 5 // io.vertx.micrometer.impl.VertxMetricsImpl metrics
        end local 4 // io.vertx.micrometer.backends.BackendRegistry backendRegistry
        end local 3 // io.vertx.micrometer.MicrometerMetricsOptions options
        end local 2 // io.vertx.core.metrics.MetricsOptions metricsOptions
        end local 1 // io.vertx.core.VertxOptions vertxOptions
        end local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lio/vertx/micrometer/impl/VertxMetricsFactoryImpl;
            0   15     1     vertxOptions  Lio/vertx/core/VertxOptions;
            1   15     2   metricsOptions  Lio/vertx/core/metrics/MetricsOptions;
            3    4     3          options  Lio/vertx/micrometer/MicrometerMetricsOptions;
            5   15     3          options  Lio/vertx/micrometer/MicrometerMetricsOptions;
            6   15     4  backendRegistry  Lio/vertx/micrometer/backends/BackendRegistry;
            7   15     5          metrics  Lio/vertx/micrometer/impl/VertxMetricsImpl;
    MethodParameters:
              Name  Flags
      vertxOptions  

  public io.vertx.core.metrics.MetricsOptions newOptions();
    descriptor: ()Lio/vertx/core/metrics/MetricsOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
         0: .line 63
            aload 0 /* this */
            aconst_null
            invokevirtual io.vertx.micrometer.impl.VertxMetricsFactoryImpl.newOptions:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/metrics/MetricsOptions;
            areturn
        end local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/micrometer/impl/VertxMetricsFactoryImpl;

  public io.vertx.core.metrics.MetricsOptions newOptions(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/core/metrics/MetricsOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
        start local 1 // io.vertx.core.json.JsonObject jsonObject
         0: .line 68
            aload 1 /* jsonObject */
            ifnonnull 1
            new io.vertx.micrometer.MicrometerMetricsOptions
            dup
            invokespecial io.vertx.micrometer.MicrometerMetricsOptions.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.vertx.micrometer.MicrometerMetricsOptions
            dup
            aload 1 /* jsonObject */
            invokespecial io.vertx.micrometer.MicrometerMetricsOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
      StackMap locals:
      StackMap stack: io.vertx.micrometer.MicrometerMetricsOptions
         2: areturn
        end local 1 // io.vertx.core.json.JsonObject jsonObject
        end local 0 // io.vertx.micrometer.impl.VertxMetricsFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/micrometer/impl/VertxMetricsFactoryImpl;
            0    3     1  jsonObject  Lio/vertx/core/json/JsonObject;
    MethodParameters:
            Name  Flags
      jsonObject  
}
SourceFile: "VertxMetricsFactoryImpl.java"