class org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy extends org.apache.cassandra.utils.CoalescingStrategies$CoalescingStrategy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy
super_class: org.apache.cassandra.utils.CoalescingStrategies$CoalescingStrategy
{
private static final int INDEX_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 26
private static final long BUCKET_INTERVAL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 67108864
private static final int BUCKET_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final long INTERVAL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
private static final long MEASURED_INTERVAL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1006632960
private long epoch;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final int[] samples;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long sum;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final long maxCoalesceWindow;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int, org.apache.cassandra.utils.CoalescingStrategies$Parker, org.slf4j.Logger, java.lang.String);
descriptor: (ILorg/apache/cassandra/utils/CoalescingStrategies$Parker;Lorg/slf4j/Logger;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
aload 4
invokespecial org.apache.cassandra.utils.CoalescingStrategies$CoalescingStrategy.<init>:(Lorg/apache/cassandra/utils/CoalescingStrategies$Parker;Lorg/slf4j/Logger;Ljava/lang/String;)V
1: aload 0
getstatic org.apache.cassandra.utils.CoalescingStrategies.CLOCK:Lorg/apache/cassandra/utils/CoalescingStrategies$Clock;
invokeinterface org.apache.cassandra.utils.CoalescingStrategies$Clock.nanoTime:()J
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.epoch:J
2: aload 0
bipush 16
newarray 10
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
3: aload 0
lconst_0
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
4: aload 0
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
iload 1
i2l
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.maxCoalesceWindow:J
5: aload 0
lconst_0
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 7 1 maxCoalesceWindow I
0 7 2 parker Lorg/apache/cassandra/utils/CoalescingStrategies$Parker;
0 7 3 logger Lorg/slf4j/Logger;
0 7 4 displayName Ljava/lang/String;
MethodParameters:
Name Flags
maxCoalesceWindow
parker
logger
displayName
private void logSample(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.debugTimestamp:(J)V
1: aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.epoch:J
lstore 3
start local 3 2: lload 1
lload 3
lsub
lstore 5
start local 5 3: lload 5
lconst_0
lcmp
ifge 5
4: return
5: StackMap locals: long long
StackMap stack:
lload 5
ldc 1073741824
lcmp
ifle 7
6: aload 0
lload 5
lload 3
lload 1
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.rollepoch:(JJJ)J
lstore 3
7: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.ix:(J)I
istore 7
start local 7 8: aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
9: iload 7
aload 0
lload 3
lconst_1
lsub
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.ix:(J)I
if_icmpeq 11
10: aload 0
dup
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
lconst_1
ladd
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
11: StackMap locals: int
StackMap stack:
return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 12 1 nanos J
2 12 3 epoch J
3 12 5 delta J
8 12 7 ix I
MethodParameters:
Name Flags
nanos
private long averageGap();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
lconst_0
lcmp
ifne 2
1: ldc 2147483647
lreturn
2: StackMap locals:
StackMap stack:
ldc 1006632960
aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
ldiv
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
private long rollepoch(long, long, long);
descriptor: (JJJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=8, args_size=4
start local 0 start local 1 start local 3 start local 5 0: lload 1
ldc 2147483648
lcmp
ifle 5
1: aload 0
lload 5
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.epoch:(J)J
lstore 3
2: aload 0
lconst_0
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
3: aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
aload 0
lload 3
lconst_1
lsub
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.ix:(J)I
iaload
i2l
ladd
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
6: goto 11
7: StackMap locals:
StackMap stack:
aload 0
lload 3
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.ix:(J)I
istore 7
start local 7 8: aload 0
dup
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
iload 7
iaload
i2l
lsub
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.sum:J
9: aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.samples:[I
iload 7
iconst_0
iastore
10: lload 3
ldc 67108864
ladd
lstore 3
end local 7 11: StackMap locals:
StackMap stack:
lload 3
ldc 1073741824
ladd
lload 5
lcmp
iflt 7
12: StackMap locals:
StackMap stack:
aload 0
lload 3
putfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.epoch:J
13: lload 3
lreturn
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/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 14 1 delta J
0 14 3 epoch J
0 14 5 nanos J
8 11 7 index I
MethodParameters:
Name Flags
delta
epoch
nanos
private long epoch(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc 1006632960
lsub
ldc -67108864
land
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 1 1 latestNanos J
MethodParameters:
Name Flags
latestNanos
private int ix(long);
descriptor: (J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 26
lushr
ldc 15
land
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 1 1 nanos J
MethodParameters:
Name Flags
nanos
protected <C extends org.apache.cassandra.utils.CoalescingStrategies$Coalescable> void coalesceInternal(java.util.concurrent.BlockingQueue<C>, java.util.List<C>, );
descriptor: (Ljava/util/concurrent/BlockingQueue;Ljava/util/List;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
iload 3
invokeinterface java.util.concurrent.BlockingQueue.drainTo:(Ljava/util/Collection;I)I
ifne 3
1: aload 2
aload 1
invokeinterface java.util.concurrent.BlockingQueue.take:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.CoalescingStrategies$Coalescable
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 1
aload 2
iload 3
aload 2
invokeinterface java.util.List.size:()I
isub
invokeinterface java.util.concurrent.BlockingQueue.drainTo:(Ljava/util/Collection;I)I
pop
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy java.util.concurrent.BlockingQueue java.util.List int top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.CoalescingStrategies$Coalescable
astore 4
start local 4 5: aload 0
aload 4
invokeinterface org.apache.cassandra.utils.CoalescingStrategies$Coalescable.timestampNanos:()J
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.logSample:(J)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.averageGap:()J
lstore 4
start local 4 8: aload 0
lload 4
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.debugGap:(J)V
9: aload 2
invokeinterface java.util.List.size:()I
istore 6
start local 6 10: iload 6
lload 4
aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.maxCoalesceWindow:J
aload 0
getfield org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.parker:Lorg/apache/cassandra/utils/CoalescingStrategies$Parker;
invokestatic org.apache.cassandra.utils.CoalescingStrategies.maybeSleep:(IJJLorg/apache/cassandra/utils/CoalescingStrategies$Parker;)Z
ifeq 19
11: aload 1
aload 2
iload 3
aload 2
invokeinterface java.util.List.size:()I
isub
invokeinterface java.util.concurrent.BlockingQueue.drainTo:(Ljava/util/Collection;I)I
pop
12: iload 6
istore 7
start local 7 13: aload 2
invokeinterface java.util.List.size:()I
istore 6
14: iload 7
istore 8
start local 8 15: goto 18
16: StackMap locals: org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy java.util.concurrent.BlockingQueue java.util.List int long int int int
StackMap stack:
aload 0
aload 2
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.CoalescingStrategies$Coalescable
invokeinterface org.apache.cassandra.utils.CoalescingStrategies$Coalescable.timestampNanos:()J
invokevirtual org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy.logSample:(J)V
17: iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 6
if_icmplt 16
end local 8 end local 7 19: StackMap locals:
StackMap stack:
return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
0 20 1 input Ljava/util/concurrent/BlockingQueue<TC;>;
0 20 2 out Ljava/util/List<TC;>;
0 20 3 maxItems I
5 6 4 qm Lorg/apache/cassandra/utils/CoalescingStrategies$Coalescable;
8 20 4 averageGap J
10 20 6 count I
13 19 7 prevCount I
15 19 8 i I
Exceptions:
throws java.lang.InterruptedException
Signature: <C::Lorg/apache/cassandra/utils/CoalescingStrategies$Coalescable;>(Ljava/util/concurrent/BlockingQueue<TC;>;Ljava/util/List<TC;>;I)V
MethodParameters:
Name Flags
input
out
maxItems
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Time horizon moving average"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy;
}
SourceFile: "CoalescingStrategies.java"
NestHost: org.apache.cassandra.utils.CoalescingStrategies
InnerClasses:
abstract Clock = org.apache.cassandra.utils.CoalescingStrategies$Clock of org.apache.cassandra.utils.CoalescingStrategies
public abstract Coalescable = org.apache.cassandra.utils.CoalescingStrategies$Coalescable of org.apache.cassandra.utils.CoalescingStrategies
public abstract CoalescingStrategy = org.apache.cassandra.utils.CoalescingStrategies$CoalescingStrategy of org.apache.cassandra.utils.CoalescingStrategies
abstract Parker = org.apache.cassandra.utils.CoalescingStrategies$Parker of org.apache.cassandra.utils.CoalescingStrategies
TimeHorizonMovingAverageCoalescingStrategy = org.apache.cassandra.utils.CoalescingStrategies$TimeHorizonMovingAverageCoalescingStrategy of org.apache.cassandra.utils.CoalescingStrategies
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()