public class com.codahale.metrics.ExponentiallyDecayingReservoir implements com.codahale.metrics.Reservoir
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.codahale.metrics.ExponentiallyDecayingReservoir
super_class: java.lang.Object
{
private static final int DEFAULT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1028
private static final double DEFAULT_ALPHA;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.015
private static final long RESCALE_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.ConcurrentSkipListMap<java.lang.Double, com.codahale.metrics.WeightedSnapshot$WeightedSample> values;
descriptor: Ljava/util/concurrent/ConcurrentSkipListMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentSkipListMap<Ljava/lang/Double;Lcom/codahale/metrics/WeightedSnapshot$WeightedSample;>;
private final java.util.concurrent.locks.ReentrantReadWriteLock lock;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double alpha;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int size;
descriptor: I
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 volatile long startTime;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.atomic.AtomicLong nextScaleTime;
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.HOURS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
putstatic com.codahale.metrics.ExponentiallyDecayingReservoir.RESCALE_THRESHOLD:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
sipush 1028
ldc 0.015
invokespecial com.codahale.metrics.ExponentiallyDecayingReservoir.<init>:(ID)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
public void <init>(int, double);
descriptor: (ID)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
dload 2
invokestatic com.codahale.metrics.Clock.defaultClock:()Lcom/codahale/metrics/Clock;
invokespecial com.codahale.metrics.ExponentiallyDecayingReservoir.<init>:(IDLcom/codahale/metrics/Clock;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 2 1 size I
0 2 2 alpha D
MethodParameters:
Name Flags
size
alpha
public void <init>(int, double, com.codahale.metrics.Clock);
descriptor: (IDLcom/codahale/metrics/Clock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentSkipListMap
dup
invokespecial java.util.concurrent.ConcurrentSkipListMap.<init>:()V
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
2: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
3: aload 0
dload 2
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.alpha:D
4: aload 0
iload 1
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.size:I
5: aload 0
aload 4
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.clock:Lcom/codahale/metrics/Clock;
6: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.count:Ljava/util/concurrent/atomic/AtomicLong;
7: aload 0
aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.currentTimeInSeconds:()J
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.startTime:J
8: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 4
invokevirtual com.codahale.metrics.Clock.getTick:()J
getstatic com.codahale.metrics.ExponentiallyDecayingReservoir.RESCALE_THRESHOLD:J
ladd
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.nextScaleTime:Ljava/util/concurrent/atomic/AtomicLong;
9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 10 1 size I
0 10 2 alpha D
0 10 4 clock Lcom/codahale/metrics/Clock;
MethodParameters:
Name Flags
size
alpha
clock
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.size:I
i2l
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.count:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
invokestatic java.lang.Math.min:(JJ)J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
public void update(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.currentTimeInSeconds:()J
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.update:(JJ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 2 1 value J
MethodParameters:
Name Flags
value
public void update(long, long);
descriptor: (JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.rescaleIfNeeded:()V
1: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.lockForRegularUsage:()V
2: aload 0
lload 3
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.startTime:J
lsub
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.weight:(J)D
dstore 5
start local 5 3: new com.codahale.metrics.WeightedSnapshot$WeightedSample
dup
lload 1
dload 5
invokespecial com.codahale.metrics.WeightedSnapshot$WeightedSample.<init>:(JD)V
astore 7
start local 7 4: dload 5
invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
invokevirtual java.util.concurrent.ThreadLocalRandom.nextDouble:()D
ddiv
dstore 8
start local 8 5: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.count:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 10
start local 10 6: lload 10
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.size:I
i2l
lcmp
ifle 7
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.isEmpty:()Z
ifeq 9
7: StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long double com.codahale.metrics.WeightedSnapshot$WeightedSample double long
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
dload 8
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 7
invokevirtual java.util.concurrent.ConcurrentSkipListMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 18
9: StackMap locals:
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.firstKey:()Ljava/lang/Object;
checkcast java.lang.Double
astore 12
start local 12 10: aload 12
invokevirtual java.lang.Double.doubleValue:()D
dload 8
dcmpg
ifge 18
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
dload 8
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 7
invokevirtual java.util.concurrent.ConcurrentSkipListMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 18
11: goto 13
12: StackMap locals: java.lang.Double
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.firstKey:()Ljava/lang/Object;
checkcast java.lang.Double
astore 12
13: StackMap locals:
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
aload 12
invokevirtual java.util.concurrent.ConcurrentSkipListMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 12
end local 12 end local 10 end local 8 end local 7 end local 5 14: goto 18
StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long
StackMap stack: java.lang.Throwable
15: astore 13
16: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRegularUsage:()V
17: aload 13
athrow
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRegularUsage:()V
19: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 20 1 value J
0 20 3 timestamp J
3 14 5 itemWeight D
4 14 7 sample Lcom/codahale/metrics/WeightedSnapshot$WeightedSample;
5 14 8 priority D
6 14 10 newCount J
10 14 12 first Ljava/lang/Double;
Exception table:
from to target type
2 15 15 any
MethodParameters:
Name Flags
value
timestamp
private void rescaleIfNeeded();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTick:()J
lstore 1
start local 1 1: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.nextScaleTime:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 2: lload 1
lload 3
lcmp
iflt 4
3: aload 0
lload 1
lload 3
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.rescale:(JJ)V
4: StackMap locals: long long
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
1 5 1 now J
2 5 3 next J
public com.codahale.metrics.Snapshot getSnapshot();
descriptor: ()Lcom/codahale/metrics/Snapshot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.rescaleIfNeeded:()V
1: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.lockForRegularUsage:()V
2: new com.codahale.metrics.WeightedSnapshot
dup
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.values:()Ljava/util/Collection;
invokespecial com.codahale.metrics.WeightedSnapshot.<init>:(Ljava/util/Collection;)V
astore 2
3: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRegularUsage:()V
4: aload 2
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRegularUsage:()V
7: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
Exception table:
from to target type
2 3 5 any
private long currentTimeInSeconds();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.clock:Lcom/codahale/metrics/Clock;
invokevirtual com.codahale.metrics.Clock.getTime:()J
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
private double weight(long);
descriptor: (J)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.alpha:D
lload 1
l2d
dmul
invokestatic java.lang.Math.exp:(D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 1 1 t J
MethodParameters:
Name Flags
t
private void rescale(long, long);
descriptor: (JJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=15, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.lockForRescale:()V
1: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.nextScaleTime:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
lload 1
getstatic com.codahale.metrics.ExponentiallyDecayingReservoir.RESCALE_THRESHOLD:J
ladd
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 22
2: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.startTime:J
lstore 5
start local 5 3: aload 0
aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.currentTimeInSeconds:()J
putfield com.codahale.metrics.ExponentiallyDecayingReservoir.startTime:J
4: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.alpha:D
dneg
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.startTime:J
lload 5
lsub
l2d
dmul
invokestatic java.lang.Math.exp:(D)D
dstore 7
start local 7 5: dload 7
dconst_0
invokestatic java.lang.Double.compare:(DD)I
ifne 8
6: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.clear:()V
7: goto 17
8: StackMap locals: long double
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.keySet:()Ljava/util/NavigableSet;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 9
start local 9 9: aload 9
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 11
goto 16
StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long long double java.util.ArrayList top java.util.Iterator
StackMap stack:
10: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
astore 10
start local 10 11: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
aload 10
invokevirtual java.util.concurrent.ConcurrentSkipListMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.codahale.metrics.WeightedSnapshot$WeightedSample
astore 12
start local 12 12: new com.codahale.metrics.WeightedSnapshot$WeightedSample
dup
aload 12
getfield com.codahale.metrics.WeightedSnapshot$WeightedSample.value:J
aload 12
getfield com.codahale.metrics.WeightedSnapshot$WeightedSample.weight:D
dload 7
dmul
invokespecial com.codahale.metrics.WeightedSnapshot$WeightedSample.<init>:(JD)V
astore 13
start local 13 13: aload 13
getfield com.codahale.metrics.WeightedSnapshot$WeightedSample.weight:D
dconst_0
invokestatic java.lang.Double.compare:(DD)I
ifne 15
14: goto 16
15: StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long long double java.util.ArrayList java.lang.Double java.util.Iterator com.codahale.metrics.WeightedSnapshot$WeightedSample com.codahale.metrics.WeightedSnapshot$WeightedSample
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
aload 10
invokevirtual java.lang.Double.doubleValue:()D
dload 7
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 13
invokevirtual java.util.concurrent.ConcurrentSkipListMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 end local 12 end local 10 16: StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long long double java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 9 17: StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long long double
StackMap stack:
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.count:Ljava/util/concurrent/atomic/AtomicLong;
aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.values:Ljava/util/concurrent/ConcurrentSkipListMap;
invokevirtual java.util.concurrent.ConcurrentSkipListMap.size:()I
i2l
invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
end local 7 end local 5 18: goto 22
StackMap locals: com.codahale.metrics.ExponentiallyDecayingReservoir long long
StackMap stack: java.lang.Throwable
19: astore 14
20: aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRescale:()V
21: aload 14
athrow
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.codahale.metrics.ExponentiallyDecayingReservoir.unlockForRescale:()V
23: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
0 24 1 now J
0 24 3 next J
3 18 5 oldStartTime J
5 18 7 scalingFactor D
9 17 9 keys Ljava/util/ArrayList<Ljava/lang/Double;>;
11 16 10 key Ljava/lang/Double;
12 16 12 sample Lcom/codahale/metrics/WeightedSnapshot$WeightedSample;
13 16 13 newSample Lcom/codahale/metrics/WeightedSnapshot$WeightedSample;
Exception table:
from to target type
1 19 19 any
MethodParameters:
Name Flags
now
next
private void unlockForRescale();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
private void lockForRescale();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
private void lockForRegularUsage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
private void unlockForRegularUsage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ExponentiallyDecayingReservoir.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ExponentiallyDecayingReservoir;
}
SourceFile: "ExponentiallyDecayingReservoir.java"
InnerClasses:
public WeightedSample = com.codahale.metrics.WeightedSnapshot$WeightedSample of com.codahale.metrics.WeightedSnapshot
public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock