public abstract class org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot implements org.glassfish.jersey.server.internal.monitoring.core.UniformTimeSnapshot
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot
  super_class: java.lang.Object
{
  private final long timeInterval;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.TimeUnit timeIntervalUnit;
    descriptor: Ljava/util/concurrent/TimeUnit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
        start local 1 // long timeInterval
        start local 3 // java.util.concurrent.TimeUnit timeIntervalUnit
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            lload 1 /* timeInterval */
            putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.timeInterval:J
         2: .line 40
            aload 0 /* this */
            aload 3 /* timeIntervalUnit */
            putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.timeIntervalUnit:Ljava/util/concurrent/TimeUnit;
         3: .line 41
            return
        end local 3 // java.util.concurrent.TimeUnit timeIntervalUnit
        end local 1 // long timeInterval
        end local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractTimeSnapshot;
            0    4     1      timeInterval  J
            0    4     3  timeIntervalUnit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
                  Name  Flags
      timeInterval      final
      timeIntervalUnit  final

  public long getTimeInterval(java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/TimeUnit;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
        start local 1 // java.util.concurrent.TimeUnit timeUnit
         0: .line 45
            aload 1 /* timeUnit */
            aload 0 /* this */
            getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.timeInterval:J
            aload 0 /* this */
            getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.timeIntervalUnit:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // java.util.concurrent.TimeUnit timeUnit
        end local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractTimeSnapshot;
            0    1     1  timeUnit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
          Name  Flags
      timeUnit  

  public double getRate(java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/TimeUnit;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
        start local 1 // java.util.concurrent.TimeUnit timeUnit
         0: .line 50
            aload 0 /* this */
            invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.size:()J
            l2d
            aload 0 /* this */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot.getTimeInterval:(Ljava/util/concurrent/TimeUnit;)J
            l2d
            ddiv
            dstore 2 /* rateInNanos */
        start local 2 // double rateInNanos
         1: .line 51
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lconst_1
            aload 1 /* timeUnit */
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 4 /* multiplier */
        start local 4 // long multiplier
         2: .line 52
            dload 2 /* rateInNanos */
            lload 4 /* multiplier */
            l2d
            dmul
            dreturn
        end local 4 // long multiplier
        end local 2 // double rateInNanos
        end local 1 // java.util.concurrent.TimeUnit timeUnit
        end local 0 // org.glassfish.jersey.server.internal.monitoring.core.AbstractTimeSnapshot this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractTimeSnapshot;
            0    3     1     timeUnit  Ljava/util/concurrent/TimeUnit;
            1    3     2  rateInNanos  D
            2    3     4   multiplier  J
    MethodParameters:
          Name  Flags
      timeUnit  
}
SourceFile: "AbstractTimeSnapshot.java"