public class oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages extends java.lang.Object implements oadd.com.codahale.metrics.MovingAverages
{
private static final long TIME_WINDOW_DURATION_MINUTES;
private static final long TICK_INTERVAL;
private static final java.time.Duration TIME_WINDOW_DURATION;
static final int NUMBER_OF_BUCKETS;
private final java.util.concurrent.atomic.AtomicLong lastTick;
private final oadd.com.codahale.metrics.Clock clock;
private java.util.ArrayList buckets;
private int oldestBucketIndex;
private int currentBucketIndex;
private final java.time.Instant bucketBaseTime;
java.time.Instant oldestBucketTime;
public void <init>()
{
oadd.com.codahale.metrics.Clock v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v = staticinvoke <oadd.com.codahale.metrics.Clock: oadd.com.codahale.metrics.Clock defaultClock()>();
specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: void <init>(oadd.com.codahale.metrics.Clock)>(v);
return;
}
public void <init>(oadd.com.codahale.metrics.Clock)
{
java.util.concurrent.atomic.LongAdder v;
long v;
java.time.Instant v, v;
java.util.ArrayList v, v;
java.util.concurrent.atomic.AtomicLong v;
oadd.com.codahale.metrics.Clock v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
int v, v, v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: oadd.com.codahale.metrics.Clock;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: oadd.com.codahale.metrics.Clock clock> = v;
v = virtualinvoke v.<oadd.com.codahale.metrics.Clock: long getTick()>();
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick> = v;
v = new java.util.ArrayList;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS>;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets> = v;
v = 0;
label:
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS>;
if v >= v goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = new java.util.concurrent.atomic.LongAdder;
specialinvoke v.<java.util.concurrent.atomic.LongAdder: void <init>()>();
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <java.time.Instant: java.time.Instant ofEpochSecond(long,long)>(0L, v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant bucketBaseTime> = v;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant bucketBaseTime>;
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant oldestBucketTime> = v;
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int oldestBucketIndex> = 0;
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int currentBucketIndex> = 0;
return;
}
public void update(long)
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
int v;
java.lang.Object v;
long v;
java.util.ArrayList v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: long;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int currentBucketIndex>;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
virtualinvoke v.<java.util.concurrent.atomic.LongAdder: void add(long)>(v);
return;
}
public void tickIfNecessary()
{
long v, v, v, v, v, v, v;
byte v;
int v, v;
boolean v;
java.time.Instant v;
java.util.concurrent.atomic.AtomicLong v, v;
oadd.com.codahale.metrics.Clock v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: oadd.com.codahale.metrics.Clock clock>;
v = virtualinvoke v.<oadd.com.codahale.metrics.Clock: long getTick()>();
v = v - v;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = v cmp v;
if v < 0 goto label;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = v % v;
v = v - v;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: boolean compareAndSet(long,long)>(v, v);
if v == 0 goto label;
v = staticinvoke <java.time.Instant: java.time.Instant ofEpochSecond(long,long)>(0L, v);
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int calculateIndexOfTick(java.time.Instant)>(v);
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int normalizeIndex(int)>(v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int currentBucketIndex> = v;
specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: void cleanOldBuckets(java.time.Instant)>(v);
label:
return;
}
public double getM15Rate()
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
double v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v = specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: double getMinuteRate(int)>(15);
return v;
}
public double getM5Rate()
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
double v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v = specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: double getMinuteRate(int)>(5);
return v;
}
public double getM1Rate()
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
double v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v = specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: double getMinuteRate(int)>(1);
return v;
}
private double getMinuteRate(int)
{
long v, v, v, v, v;
java.time.Instant v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.atomic.AtomicLong v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
int v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: int;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = staticinvoke <java.time.Instant: java.time.Instant ofEpochSecond(long,long)>(0L, v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MINUTES>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = v / v;
v = specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long sumBuckets(java.time.Instant,int)>(v, v);
return v;
}
int calculateIndexOfTick(java.time.Instant)
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
java.time.Duration v;
long v, v, v;
java.time.Instant v, v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: java.time.Instant;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant bucketBaseTime>;
v = staticinvoke <java.time.Duration: java.time.Duration between(java.time.temporal.Temporal,java.time.temporal.Temporal)>(v, v);
v = virtualinvoke v.<java.time.Duration: long toNanos()>();
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = v / v;
return v;
}
int normalizeIndex(int)
{
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
int v, v, v, v, v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: int;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS>;
v = v % v;
if v < 0 goto label;
v = v;
goto label;
label:
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS>;
v = v + v;
label:
return v;
}
private void cleanOldBuckets(java.time.Instant)
{
long v;
java.time.Instant v, v, v, v, v, v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
java.time.Duration v, v;
int v, v, v;
boolean v, v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: java.time.Instant;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Duration TIME_WINDOW_DURATION>;
v = virtualinvoke v.<java.time.Instant: java.time.Instant minus(java.time.temporal.TemporalAmount)>(v);
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = virtualinvoke v.<java.time.Instant: java.time.Instant plusNanos(long)>(v);
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant oldestBucketTime>;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Duration TIME_WINDOW_DURATION>;
v = virtualinvoke v.<java.time.Instant: java.time.Instant plus(java.time.temporal.TemporalAmount)>(v);
v = virtualinvoke v.<java.time.Instant: boolean isAfter(java.time.Instant)>(v);
if v == 0 goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int oldestBucketIndex>;
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant oldestBucketTime> = v;
goto label;
label:
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant oldestBucketTime>;
v = virtualinvoke v.<java.time.Instant: boolean isAfter(java.time.Instant)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int calculateIndexOfTick(java.time.Instant)>(v);
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int normalizeIndex(int)>(v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Instant oldestBucketTime> = v;
goto label;
label:
return;
label:
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int oldestBucketIndex>;
specialinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: void cleanBucketRange(int,int)>(v, v);
v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int oldestBucketIndex> = v;
return;
}
private void cleanBucketRange(int, int)
{
java.util.ArrayList v, v, v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
int v, v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: int;
v := @parameter: int;
if v >= v goto label;
v = v;
label:
if v >= v goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
virtualinvoke v.<java.util.concurrent.atomic.LongAdder: void reset()>();
v = v + 1;
goto label;
label:
v = v;
label:
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS>;
if v >= v goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
virtualinvoke v.<java.util.concurrent.atomic.LongAdder: void reset()>();
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
virtualinvoke v.<java.util.concurrent.atomic.LongAdder: void reset()>();
v = v + 1;
goto label;
label:
return;
}
private long sumBuckets(java.time.Instant, int)
{
java.util.concurrent.atomic.LongAdder v;
long v;
java.util.ArrayList v, v, v;
int v, v, v, v, v, v, v;
java.util.function.ToLongFunction v, v, v;
java.util.stream.LongStream v, v, v;
java.time.Instant v;
java.util.function.LongConsumer v, v, v;
java.util.stream.Stream v, v, v, v, v, v, v;
oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages v;
v := @this: oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages;
v := @parameter: java.time.Instant;
v := @parameter: int;
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int calculateIndexOfTick(java.time.Instant)>(v);
v = v + 1;
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int normalizeIndex(int)>(v);
v = v - v;
v = virtualinvoke v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int normalizeIndex(int)>(v);
v = new java.util.concurrent.atomic.LongAdder;
specialinvoke v.<java.util.concurrent.atomic.LongAdder: void <init>()>();
if v >= v goto label;
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream skip(long)>(v);
v = v - v;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream limit(long)>(v);
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$longValue__394: java.util.function.ToLongFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$add__395: java.util.function.LongConsumer bootstrap$(java.util.concurrent.atomic.LongAdder)>(v);
interfaceinvoke v.<java.util.stream.LongStream: void forEach(java.util.function.LongConsumer)>(v);
goto label;
label:
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream limit(long)>(v);
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$longValue__390: java.util.function.ToLongFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$add__391: java.util.function.LongConsumer bootstrap$(java.util.concurrent.atomic.LongAdder)>(v);
interfaceinvoke v.<java.util.stream.LongStream: void forEach(java.util.function.LongConsumer)>(v);
v = v.<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.util.ArrayList buckets>;
v = virtualinvoke v.<java.util.ArrayList: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream skip(long)>(v);
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$longValue__392: java.util.function.ToLongFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages$add__393: java.util.function.LongConsumer bootstrap$(java.util.concurrent.atomic.LongAdder)>(v);
interfaceinvoke v.<java.util.stream.LongStream: void forEach(java.util.function.LongConsumer)>(v);
label:
v = virtualinvoke v.<java.util.concurrent.atomic.LongAdder: long longValue()>();
return v;
}
static void <clinit>()
{
java.util.concurrent.TimeUnit v;
java.time.Duration v, v;
long v, v, v, v;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(1L);
<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL> = v;
v = staticinvoke <java.time.Duration: java.time.Duration ofMinutes(long)>(15L);
<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Duration TIME_WINDOW_DURATION> = v;
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: java.time.Duration TIME_WINDOW_DURATION>;
v = virtualinvoke v.<java.time.Duration: long toNanos()>();
v = <oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: long TICK_INTERVAL>;
v = v / v;
<oadd.com.codahale.metrics.SlidingTimeWindowMovingAverages: int NUMBER_OF_BUCKETS> = v;
return;
}
}