public abstract class org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir<V> implements org.glassfish.jersey.server.internal.monitoring.core.TimeReservoir<V>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir
super_class: java.lang.Object
{
private final java.util.concurrent.ConcurrentNavigableMap<java.lang.Long, V> measurements;
descriptor: Ljava/util/concurrent/ConcurrentNavigableMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentNavigableMap<Ljava/lang/Long;TV;>;
private final long window;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong greatestTick;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong updateCount;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong startTick;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicInteger trimOff;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer<V> trimmer;
descriptor: Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer<TV;>;
private final long interval;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.TimeUnit intervalUnit;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 6 0: aload 0
lload 1
aload 3
lload 4
aload 6
aconst_null
invokespecial org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.<init>:(JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;)V
1: return
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 2 1 window J
0 2 3 windowUnit Ljava/util/concurrent/TimeUnit;
0 2 4 startTime J
0 2 6 startTimeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
window final
windowUnit final
startTime final
startTimeUnit final
public void <init>(long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit, org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer<V>);
descriptor: (JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 7
ifnull 2
aload 7
goto 3
StackMap locals: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir long java.util.concurrent.TimeUnit long java.util.concurrent.TimeUnit org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer
StackMap stack: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir
2: getstatic org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir$DefaultSlidingWindowTrimmerHolder.INSTANCE:Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;
StackMap locals: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir long java.util.concurrent.TimeUnit long java.util.concurrent.TimeUnit org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer
StackMap stack: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer
3: putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimmer:Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;
4: aload 0
new java.util.concurrent.ConcurrentSkipListMap
dup
invokespecial java.util.concurrent.ConcurrentSkipListMap.<init>:()V
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.measurements:Ljava/util/concurrent/ConcurrentNavigableMap;
5: aload 0
lload 1
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.interval:J
6: aload 0
aload 3
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.intervalUnit:Ljava/util/concurrent/TimeUnit;
7: aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
bipush 8
lshl
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.window:J
8: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 0
lload 4
aload 6
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.tick:(JLjava/util/concurrent/TimeUnit;)J
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
9: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.greatestTick:Ljava/util/concurrent/atomic/AtomicLong;
10: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.updateCount:Ljava/util/concurrent/atomic/AtomicLong;
11: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimOff:Ljava/util/concurrent/atomic/AtomicInteger;
12: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimmer:Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;
aload 0
invokeinterface org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer.setTimeReservoir:(Lorg/glassfish/jersey/server/internal/monitoring/core/TimeReservoir;)V
13: return
end local 7 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 14 1 window J
0 14 3 windowUnit Ljava/util/concurrent/TimeUnit;
0 14 4 startTime J
0 14 6 startTimeUnit Ljava/util/concurrent/TimeUnit;
0 14 7 trimmer Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer<TV;>;
Signature: (JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer<TV;>;)V
MethodParameters:
Name Flags
window final
windowUnit final
startTime final
startTimeUnit final
trimmer final
public int size(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 0
lload 1
aload 3
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.tick:(JLjava/util/concurrent/TimeUnit;)J
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.conditionallyUpdateGreatestTick:(J)J
pop2
1: aload 0
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trim:()V
2: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.measurements:Ljava/util/concurrent/ConcurrentNavigableMap;
invokeinterface java.util.concurrent.ConcurrentNavigableMap.size:()I
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 3 1 time J
0 3 3 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
time
timeUnit
public void update(V, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.updateCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
ldc 256
lrem
lconst_0
lcmp
ifne 2
1: aload 0
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trim:()V
2: StackMap locals:
StackMap stack:
aload 0
lload 2
aload 4
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.tick:(JLjava/util/concurrent/TimeUnit;)J
lstore 5
start local 5 3: iconst_0
istore 7
start local 7 4: goto 10
5: StackMap locals: long int
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.measurements:Ljava/util/concurrent/ConcurrentNavigableMap;
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 1
invokeinterface java.util.concurrent.ConcurrentNavigableMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 8
6: aload 0
lload 5
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.conditionallyUpdateGreatestTick:(J)J
pop2
7: return
8: StackMap locals:
StackMap stack:
lload 5
lconst_1
ladd
lstore 5
9: iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
sipush 256
if_icmplt 5
end local 7 11: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 12 1 value TV;
0 12 2 time J
0 12 4 timeUnit Ljava/util/concurrent/TimeUnit;
3 12 5 tick J
4 11 7 i I
Signature: (TV;JLjava/util/concurrent/TimeUnit;)V
MethodParameters:
Name Flags
value
time
timeUnit
public long interval(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 start local 1 0: aload 1
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.interval:J
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.intervalUnit:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 1 1 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
timeUnit final
private long conditionallyUpdateGreatestTick(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.greatestTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 1: lload 1
lload 3
lcmp
ifgt 3
2: lload 3
lreturn
3: StackMap locals: long
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.greatestTick:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 0
4: lload 1
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 5 1 tick J
1 5 3 currentGreatestTick J
MethodParameters:
Name Flags
tick final
private void conditionallyUpdateStartTick(java.util.Map$Entry<java.lang.Long, V>);
descriptor: (Ljava/util/Map$Entry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Long
2: astore 2
start local 2 3: aload 2
ifnull 7
aload 2
invokevirtual java.lang.Long.longValue:()J
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lcmp
ifge 7
4: StackMap locals: java.lang.Long
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 5: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
aload 2
invokevirtual java.lang.Long.longValue:()J
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 4
6: return
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 8 1 firstEntry Ljava/util/Map$Entry<Ljava/lang/Long;TV;>;
3 8 2 firstEntryKey Ljava/lang/Long;
5 7 3 expectedStartTick J
Signature: (Ljava/util/Map$Entry<Ljava/lang/Long;TV;>;)V
MethodParameters:
Name Flags
firstEntry final
protected abstract org.glassfish.jersey.server.internal.monitoring.core.UniformTimeSnapshot snapshot(java.util.Collection<V>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/jersey/server/internal/monitoring/core/UniformTimeSnapshot;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/util/Collection<TV;>;JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/jersey/server/internal/monitoring/core/UniformTimeSnapshot;
MethodParameters:
Name Flags
values final
timeInterval final
timeIntervalUnit final
time final
timeUnit final
public org.glassfish.jersey.server.internal.monitoring.core.UniformTimeSnapshot getSnapshot(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/jersey/server/internal/monitoring/core/UniformTimeSnapshot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimOff:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
1: aload 0
aload 0
lload 1
aload 3
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.tick:(JLjava/util/concurrent/TimeUnit;)J
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.conditionallyUpdateGreatestTick:(J)J
lstore 4
start local 4 2: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.measurements:Ljava/util/concurrent/ConcurrentNavigableMap;
3: aload 0
lload 4
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.roundTick:(J)J
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.window:J
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iconst_1
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iconst_1
invokeinterface java.util.concurrent.ConcurrentNavigableMap.subMap:(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;
4: astore 6
start local 6 5: aload 0
aload 6
invokeinterface java.util.concurrent.ConcurrentNavigableMap.firstEntry:()Ljava/util/Map$Entry;
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.conditionallyUpdateStartTick:(Ljava/util/Map$Entry;)V
6: lload 4
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.startTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lsub
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.window:J
invokestatic java.lang.Math.min:(JJ)J
lstore 7
start local 7 7: aload 0
aload 6
invokeinterface java.util.concurrent.ConcurrentNavigableMap.values:()Ljava/util/Collection;
lload 7
bipush 8
lshr
8: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
aload 3
9: invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.snapshot:(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/jersey/server/internal/monitoring/core/UniformTimeSnapshot;
astore 10
10: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimOff:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
11: aload 0
lload 4
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trim:(J)V
12: aload 10
areturn
end local 7 end local 6 13: StackMap locals: org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir long java.util.concurrent.TimeUnit long
StackMap stack: java.lang.Throwable
astore 9
14: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimOff:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
15: aload 0
lload 4
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trim:(J)V
16: aload 9
athrow
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 17 1 time J
0 17 3 timeUnit Ljava/util/concurrent/TimeUnit;
2 17 4 baselineTick J
5 13 6 windowMap Ljava/util/concurrent/ConcurrentNavigableMap<Ljava/lang/Long;TV;>;
7 13 7 measuredTickInterval J
Exception table:
from to target type
2 10 13 any
MethodParameters:
Name Flags
time
timeUnit
private long tick(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
bipush 8
lshl
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 1 1 time J
0 1 3 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
time
timeUnit
private void trim();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.greatestTick:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trim:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
private void trim(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimEnabled:()Z
ifeq 3
1: aload 0
lload 1
invokevirtual org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.roundTick:(J)J
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.window:J
lsub
lstore 3
start local 3 2: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimmer:Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.measurements:Ljava/util/concurrent/ConcurrentNavigableMap;
lload 3
invokeinterface org.glassfish.jersey.server.internal.monitoring.core.SlidingWindowTrimmer.trim:(Ljava/util/concurrent/ConcurrentNavigableMap;J)V
end local 3 3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 4 1 baselineTick J
2 3 3 key J
MethodParameters:
Name Flags
baselineTick final
private boolean trimEnabled();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir.trimOff:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
private long roundTick(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 8
lshr
bipush 8
lshl
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/monitoring/core/AbstractSlidingWindowTimeReservoir<TV;>;
0 1 1 tick J
MethodParameters:
Name Flags
tick final
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;Lorg/glassfish/jersey/server/internal/monitoring/core/TimeReservoir<TV;>;
SourceFile: "AbstractSlidingWindowTimeReservoir.java"
NestMembers:
org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir$DefaultSlidingWindowTrimmerHolder org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir$DefaultSlidingWindowTrimmerHolder$1
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private final DefaultSlidingWindowTrimmerHolder = org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir$DefaultSlidingWindowTrimmerHolder of org.glassfish.jersey.server.internal.monitoring.core.AbstractSlidingWindowTimeReservoir