public class com.codahale.metrics.jvm.BufferPoolMetricSet implements com.codahale.metrics.MetricSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.codahale.metrics.jvm.BufferPoolMetricSet
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOGGER;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] ATTRIBUTES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] POOLS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final javax.management.MBeanServer mBeanServer;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 23
            ldc Lcom/codahale/metrics/jvm/BufferPoolMetricSet;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.codahale.metrics.jvm.BufferPoolMetricSet.LOGGER:Lorg/slf4j/Logger;
         1: .line 24
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Count"
            aastore
            dup
            iconst_1
            ldc "MemoryUsed"
            aastore
            dup
            iconst_2
            ldc "TotalCapacity"
            aastore
            putstatic com.codahale.metrics.jvm.BufferPoolMetricSet.ATTRIBUTES:[Ljava/lang/String;
         2: .line 25
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "count"
            aastore
            dup
            iconst_1
            ldc "used"
            aastore
            dup
            iconst_2
            ldc "capacity"
            aastore
            putstatic com.codahale.metrics.jvm.BufferPoolMetricSet.NAMES:[Ljava/lang/String;
         3: .line 26
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "direct"
            aastore
            dup
            iconst_1
            ldc "mapped"
            aastore
            putstatic com.codahale.metrics.jvm.BufferPoolMetricSet.POOLS:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.codahale.metrics.jvm.BufferPoolMetricSet this
        start local 1 // javax.management.MBeanServer mBeanServer
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            aload 1 /* mBeanServer */
            putfield com.codahale.metrics.jvm.BufferPoolMetricSet.mBeanServer:Ljavax/management/MBeanServer;
         2: .line 32
            return
        end local 1 // javax.management.MBeanServer mBeanServer
        end local 0 // com.codahale.metrics.jvm.BufferPoolMetricSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/codahale/metrics/jvm/BufferPoolMetricSet;
            0    3     1  mBeanServer  Ljavax/management/MBeanServer;
    MethodParameters:
             Name  Flags
      mBeanServer  

  public java.util.Map<java.lang.String, com.codahale.metrics.Metric> getMetrics();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // com.codahale.metrics.jvm.BufferPoolMetricSet this
         0: .line 36
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* gauges */
        start local 1 // java.util.Map gauges
         1: .line 37
            getstatic com.codahale.metrics.jvm.BufferPoolMetricSet.POOLS:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 16
      StackMap locals: com.codahale.metrics.jvm.BufferPoolMetricSet java.util.Map top int int java.lang.String[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* pool */
        start local 2 // java.lang.String pool
         3: .line 38
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 14
         5: .line 39
      StackMap locals: com.codahale.metrics.jvm.BufferPoolMetricSet java.util.Map java.lang.String int int java.lang.String[] int
      StackMap stack:
            getstatic com.codahale.metrics.jvm.BufferPoolMetricSet.ATTRIBUTES:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            astore 7 /* attribute */
        start local 7 // java.lang.String attribute
         6: .line 40
            getstatic com.codahale.metrics.jvm.BufferPoolMetricSet.NAMES:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            astore 8 /* name */
        start local 8 // java.lang.String name
         7: .line 42
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            ldc "java.nio:type=BufferPool,name="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* pool */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 9 /* on */
        start local 9 // javax.management.ObjectName on
         8: .line 43
            aload 0 /* this */
            getfield com.codahale.metrics.jvm.BufferPoolMetricSet.mBeanServer:Ljavax/management/MBeanServer;
            aload 9 /* on */
            invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            pop
         9: .line 44
            aload 1 /* gauges */
            aload 2 /* pool */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* name */
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            new com.codahale.metrics.jvm.JmxAttributeGauge
            dup
            aload 0 /* this */
            getfield com.codahale.metrics.jvm.BufferPoolMetricSet.mBeanServer:Ljavax/management/MBeanServer;
            aload 9 /* on */
            aload 7 /* attribute */
            invokespecial com.codahale.metrics.jvm.JmxAttributeGauge.<init>:(Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // javax.management.ObjectName on
        10: .line 45
            goto 13
      StackMap locals: com.codahale.metrics.jvm.BufferPoolMetricSet java.util.Map java.lang.String int int java.lang.String[] int java.lang.String java.lang.String
      StackMap stack: javax.management.JMException
        11: pop
        12: .line 46
            getstatic com.codahale.metrics.jvm.BufferPoolMetricSet.LOGGER:Lorg/slf4j/Logger;
            ldc "Unable to load buffer pool MBeans, possibly running on Java 6"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        end local 8 // java.lang.String name
        end local 7 // java.lang.String attribute
        13: .line 38
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            getstatic com.codahale.metrics.jvm.BufferPoolMetricSet.ATTRIBUTES:[Ljava/lang/String;
            arraylength
            if_icmplt 5
        end local 6 // int i
        end local 2 // java.lang.String pool
        15: .line 37
            iinc 3 1
      StackMap locals: com.codahale.metrics.jvm.BufferPoolMetricSet java.util.Map top int int java.lang.String[]
      StackMap stack:
        16: iload 3
            iload 4
            if_icmplt 2
        17: .line 50
            aload 1 /* gauges */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 1 // java.util.Map gauges
        end local 0 // com.codahale.metrics.jvm.BufferPoolMetricSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lcom/codahale/metrics/jvm/BufferPoolMetricSet;
            1   18     1     gauges  Ljava/util/Map<Ljava/lang/String;Lcom/codahale/metrics/Metric;>;
            3   15     2       pool  Ljava/lang/String;
            4   15     6          i  I
            6   13     7  attribute  Ljava/lang/String;
            7   13     8       name  Ljava/lang/String;
            8   10     9         on  Ljavax/management/ObjectName;
      Exception table:
        from    to  target  type
           7    10      11  Class javax.management.JMException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/codahale/metrics/Metric;>;
}
SourceFile: "BufferPoolMetricSet.java"