public class org.apache.cassandra.metrics.RestorableMeter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.metrics.RestorableMeter
super_class: java.lang.Object
{
private static final long TICK_INTERVAL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double NANOS_PER_SECOND;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA m15Rate;
descriptor: Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA m120Rate;
descriptor: Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong count;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long startTime;
descriptor: J
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 org.apache.cassandra.metrics.RestorableMeter.TICK_INTERVAL:J
1: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
l2d
putstatic org.apache.cassandra.metrics.RestorableMeter.NANOS_PER_SECOND:D
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield org.apache.cassandra.metrics.RestorableMeter.count:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
invokestatic com.codahale.metrics.Clock.defaultClock:()Lcom/codahale/metrics/Clock;
putfield org.apache.cassandra.metrics.RestorableMeter.clock:Lcom/codahale/metrics/Clock;
3: aload 0
new org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA
dup
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc 15
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
invokespecial org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.<init>:(J)V
putfield org.apache.cassandra.metrics.RestorableMeter.m15Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
4: aload 0
new org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA
dup
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc 120
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
invokespecial org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.<init>:(J)V
putfield org.apache.cassandra.metrics.RestorableMeter.m120Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
5: aload 0
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
putfield org.apache.cassandra.metrics.RestorableMeter.startTime:J
6: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.startTime:J
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.apache.cassandra.metrics.RestorableMeter.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
public void <init>(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield org.apache.cassandra.metrics.RestorableMeter.count:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
invokestatic com.codahale.metrics.Clock.defaultClock:()Lcom/codahale/metrics/Clock;
putfield org.apache.cassandra.metrics.RestorableMeter.clock:Lcom/codahale/metrics/Clock;
3: aload 0
new org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA
dup
dload 1
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc 15
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
invokespecial org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.<init>:(DJ)V
putfield org.apache.cassandra.metrics.RestorableMeter.m15Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
4: aload 0
new org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA
dup
dload 3
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc 120
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
invokespecial org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.<init>:(DJ)V
putfield org.apache.cassandra.metrics.RestorableMeter.m120Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
5: aload 0
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
putfield org.apache.cassandra.metrics.RestorableMeter.startTime:J
6: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.startTime:J
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.apache.cassandra.metrics.RestorableMeter.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
7: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
0 8 1 lastM15Rate D
0 8 3 lastM120Rate D
MethodParameters:
Name Flags
lastM15Rate
lastM120Rate
private void tickIfNecessary();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 1
start local 1 1: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.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 org.apache.cassandra.metrics.RestorableMeter.TICK_INTERVAL:J
lcmp
ifle 13
4: lload 3
lload 5
getstatic org.apache.cassandra.metrics.RestorableMeter.TICK_INTERVAL:J
lrem
lsub
lstore 7
start local 7 5: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.lastTick:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
lload 7
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 13
6: lload 5
getstatic org.apache.cassandra.metrics.RestorableMeter.TICK_INTERVAL:J
ldiv
lstore 9
start local 9 7: lconst_0
lstore 11
start local 11 8: goto 12
9: StackMap locals: org.apache.cassandra.metrics.RestorableMeter long long long long long long
StackMap stack:
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m15Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.tick:()V
10: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m120Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.tick:()V
11: lload 11
lconst_1
ladd
lstore 11
StackMap locals:
StackMap stack:
12: lload 11
lload 9
lcmp
iflt 9
end local 11 end local 9 end local 7 13: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
1 14 1 oldTick J
2 14 3 newTick J
3 14 5 age J
5 13 7 newIntervalStartTick J
7 13 9 requiredTicks J
8 13 11 i J
public void mark();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
lconst_1
invokevirtual org.apache.cassandra.metrics.RestorableMeter.mark:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
public void mark(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
invokevirtual org.apache.cassandra.metrics.RestorableMeter.tickIfNecessary:()V
1: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.count:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
pop2
2: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m15Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
lload 1
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.update:(J)V
3: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m120Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
lload 1
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.update:(J)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
0 5 1 n J
MethodParameters:
Name Flags
n
public double fifteenMinuteRate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.metrics.RestorableMeter.tickIfNecessary:()V
1: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m15Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.rate:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
public double twoHourRate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.metrics.RestorableMeter.tickIfNecessary:()V
1: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.m120Rate:Lorg/apache/cassandra/metrics/RestorableMeter$RestorableEWMA;
invokevirtual org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA.rate:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
public long count();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.count:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
public double meanRate();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.metrics.RestorableMeter.count:()J
lconst_0
lcmp
ifne 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
aload 0
getfield org.apache.cassandra.metrics.RestorableMeter.startTime:J
lsub
lstore 1
start local 1 3: aload 0
invokevirtual org.apache.cassandra.metrics.RestorableMeter.count:()J
l2d
lload 1
l2d
ddiv
getstatic org.apache.cassandra.metrics.RestorableMeter.NANOS_PER_SECOND:D
dmul
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/metrics/RestorableMeter;
3 4 1 elapsed J
}
SourceFile: "RestorableMeter.java"
NestMembers:
org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA
InnerClasses:
RestorableEWMA = org.apache.cassandra.metrics.RestorableMeter$RestorableEWMA of org.apache.cassandra.metrics.RestorableMeter