public class com.codahale.metrics.ExponentialMovingAverages implements com.codahale.metrics.MovingAverages
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.codahale.metrics.ExponentialMovingAverages
super_class: java.lang.Object
{
private static final long TICK_INTERVAL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.codahale.metrics.EWMA m1Rate;
descriptor: Lcom/codahale/metrics/EWMA;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.codahale.metrics.EWMA m5Rate;
descriptor: Lcom/codahale/metrics/EWMA;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.codahale.metrics.EWMA m15Rate;
descriptor: Lcom/codahale/metrics/EWMA;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong lastTick;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.codahale.metrics.Clock clock;
descriptor: Lcom/codahale/metrics/Clock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
ldc 5
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
putstatic com.codahale.metrics.ExponentialMovingAverages.TICK_INTERVAL:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.codahale.metrics.Clock.defaultClock:()Lcom/codahale/metrics/Clock;
invokespecial com.codahale.metrics.ExponentialMovingAverages.<init>:(Lcom/codahale/metrics/Clock;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
public void <init>(com.codahale.metrics.Clock);
descriptor: (Lcom/codahale/metrics/Clock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic com.codahale.metrics.EWMA.oneMinuteEWMA:()Lcom/codahale/metrics/EWMA;
putfield com.codahale.metrics.ExponentialMovingAverages.m1Rate:Lcom/codahale/metrics/EWMA;
2: aload 0
invokestatic com.codahale.metrics.EWMA.fiveMinuteEWMA:()Lcom/codahale/metrics/EWMA;
putfield com.codahale.metrics.ExponentialMovingAverages.m5Rate:Lcom/codahale/metrics/EWMA;
3: aload 0
invokestatic com.codahale.metrics.EWMA.fifteenMinuteEWMA:()Lcom/codahale/metrics/EWMA;
putfield com.codahale.metrics.ExponentialMovingAverages.m15Rate:Lcom/codahale/metrics/EWMA;
4: aload 0
aload 1
putfield com.codahale.metrics.ExponentialMovingAverages.clock:Lcom/codahale/metrics/Clock;
5: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.codahale.metrics.ExponentialMovingAverages.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
0 7 1 clock Lcom/codahale/metrics/Clock;
MethodParameters:
Name Flags
clock
public void update(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m1Rate:Lcom/codahale/metrics/EWMA;
lload 1
invokevirtual com.codahale.metrics.EWMA.update:(J)V
1: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m5Rate:Lcom/codahale/metrics/EWMA;
lload 1
invokevirtual com.codahale.metrics.EWMA.update:(J)V
2: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m15Rate:Lcom/codahale/metrics/EWMA;
lload 1
invokevirtual com.codahale.metrics.EWMA.update:(J)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
0 4 1 n J
MethodParameters:
Name Flags
n
public void tickIfNecessary();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 1
start local 1 1: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
lstore 3
start local 3 2: lload 3
lload 1
lsub
lstore 5
start local 5 3: lload 5
getstatic com.codahale.metrics.ExponentialMovingAverages.TICK_INTERVAL:J
lcmp
ifle 14
4: lload 3
lload 5
getstatic com.codahale.metrics.ExponentialMovingAverages.TICK_INTERVAL:J
lrem
lsub
lstore 7
start local 7 5: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
lload 7
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 14
6: lload 5
getstatic com.codahale.metrics.ExponentialMovingAverages.TICK_INTERVAL:J
ldiv
lstore 9
start local 9 7: lconst_0
lstore 11
start local 11 8: goto 13
9: StackMap locals: com.codahale.metrics.ExponentialMovingAverages long long long long long long
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m1Rate:Lcom/codahale/metrics/EWMA;
invokevirtual com.codahale.metrics.EWMA.tick:()V
10: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m5Rate:Lcom/codahale/metrics/EWMA;
invokevirtual com.codahale.metrics.EWMA.tick:()V
11: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m15Rate:Lcom/codahale/metrics/EWMA;
invokevirtual com.codahale.metrics.EWMA.tick:()V
12: lload 11
lconst_1
ladd
lstore 11
StackMap locals:
StackMap stack:
13: lload 11
lload 9
lcmp
iflt 9
end local 11 end local 9 end local 7 14: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
1 15 1 oldTick J
2 15 3 newTick J
3 15 5 age J
5 14 7 newIntervalStartTick J
7 14 9 requiredTicks J
8 14 11 i J
public double getM1Rate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m1Rate:Lcom/codahale/metrics/EWMA;
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.EWMA.getRate:(Ljava/util/concurrent/TimeUnit;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
public double getM5Rate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m5Rate:Lcom/codahale/metrics/EWMA;
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.EWMA.getRate:(Ljava/util/concurrent/TimeUnit;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
public double getM15Rate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentialMovingAverages.m15Rate:Lcom/codahale/metrics/EWMA;
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.EWMA.getRate:(Ljava/util/concurrent/TimeUnit;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentialMovingAverages;
}
SourceFile: "ExponentialMovingAverages.java"