public class oadd.com.codahale.metrics.ExponentialMovingAverages extends java.lang.Object implements oadd.com.codahale.metrics.MovingAverages
{
private static final long TICK_INTERVAL;
private final oadd.com.codahale.metrics.EWMA m1Rate;
private final oadd.com.codahale.metrics.EWMA m5Rate;
private final oadd.com.codahale.metrics.EWMA m15Rate;
private final java.util.concurrent.atomic.AtomicLong lastTick;
private final oadd.com.codahale.metrics.Clock clock;
public void <init>()
{
oadd.com.codahale.metrics.Clock v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v = staticinvoke <oadd.com.codahale.metrics.Clock: oadd.com.codahale.metrics.Clock defaultClock()>();
specialinvoke v.<oadd.com.codahale.metrics.ExponentialMovingAverages: void <init>(oadd.com.codahale.metrics.Clock)>(v);
return;
}
public void <init>(oadd.com.codahale.metrics.Clock)
{
long v;
oadd.com.codahale.metrics.EWMA v, v, v;
java.util.concurrent.atomic.AtomicLong v;
oadd.com.codahale.metrics.Clock v, v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v := @parameter: oadd.com.codahale.metrics.Clock;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <oadd.com.codahale.metrics.EWMA: oadd.com.codahale.metrics.EWMA oneMinuteEWMA()>();
v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m1Rate> = v;
v = staticinvoke <oadd.com.codahale.metrics.EWMA: oadd.com.codahale.metrics.EWMA fiveMinuteEWMA()>();
v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m5Rate> = v;
v = staticinvoke <oadd.com.codahale.metrics.EWMA: oadd.com.codahale.metrics.EWMA fifteenMinuteEWMA()>();
v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m15Rate> = v;
v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.Clock clock> = v;
v = new java.util.concurrent.atomic.AtomicLong;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.Clock clock>;
v = virtualinvoke v.<oadd.com.codahale.metrics.Clock: long getTick()>();
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(v);
v.<oadd.com.codahale.metrics.ExponentialMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick> = v;
return;
}
public void update(long)
{
long v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
oadd.com.codahale.metrics.EWMA v, v, v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v := @parameter: long;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m1Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void update(long)>(v);
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m5Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void update(long)>(v);
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m15Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void update(long)>(v);
return;
}
public void tickIfNecessary()
{
long v, v, v, v, v, v, v, v, v, v;
oadd.com.codahale.metrics.EWMA v, v, v;
byte v, v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
boolean v;
java.util.concurrent.atomic.AtomicLong v, v;
oadd.com.codahale.metrics.Clock v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: java.util.concurrent.atomic.AtomicLong lastTick>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.Clock clock>;
v = virtualinvoke v.<oadd.com.codahale.metrics.Clock: long getTick()>();
v = v - v;
v = <oadd.com.codahale.metrics.ExponentialMovingAverages: long TICK_INTERVAL>;
v = v cmp v;
if v <= 0 goto label;
v = <oadd.com.codahale.metrics.ExponentialMovingAverages: long TICK_INTERVAL>;
v = v % v;
v = v - v;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: 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 = <oadd.com.codahale.metrics.ExponentialMovingAverages: long TICK_INTERVAL>;
v = v / v;
v = 0L;
label:
v = v cmp v;
if v >= 0 goto label;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m1Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void tick()>();
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m5Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void tick()>();
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m15Rate>;
virtualinvoke v.<oadd.com.codahale.metrics.EWMA: void tick()>();
v = v + 1L;
goto label;
label:
return;
}
public double getM1Rate()
{
java.util.concurrent.TimeUnit v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
oadd.com.codahale.metrics.EWMA v;
double v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m1Rate>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<oadd.com.codahale.metrics.EWMA: double getRate(java.util.concurrent.TimeUnit)>(v);
return v;
}
public double getM5Rate()
{
java.util.concurrent.TimeUnit v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
oadd.com.codahale.metrics.EWMA v;
double v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m5Rate>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<oadd.com.codahale.metrics.EWMA: double getRate(java.util.concurrent.TimeUnit)>(v);
return v;
}
public double getM15Rate()
{
java.util.concurrent.TimeUnit v;
oadd.com.codahale.metrics.ExponentialMovingAverages v;
oadd.com.codahale.metrics.EWMA v;
double v;
v := @this: oadd.com.codahale.metrics.ExponentialMovingAverages;
v = v.<oadd.com.codahale.metrics.ExponentialMovingAverages: oadd.com.codahale.metrics.EWMA m15Rate>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<oadd.com.codahale.metrics.EWMA: double getRate(java.util.concurrent.TimeUnit)>(v);
return v;
}
static void <clinit>()
{
java.util.concurrent.TimeUnit v;
long v;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(5L);
<oadd.com.codahale.metrics.ExponentialMovingAverages: long TICK_INTERVAL> = v;
return;
}
}