public class AnimationPulse extends java.lang.Object implements AnimationPulseMBean
Modifier and Type | Class and Description |
---|---|
private static class |
AnimationPulse.AnimationPulseHolder |
private static class |
AnimationPulse.PulseData |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicLong |
animationDurationAv |
private java.util.concurrent.atomic.AtomicLong |
animationDurationMax |
private java.util.concurrent.atomic.AtomicLong |
animationDurationSum |
private java.util.concurrent.atomic.AtomicLong |
endAv |
private java.util.concurrent.atomic.AtomicLong |
endMax |
private java.util.concurrent.atomic.AtomicLong |
endSum |
private boolean |
isEnabled |
private java.util.concurrent.atomic.AtomicLong[] |
maxAndAv |
private AnimationPulse.PulseData.Accessor[] |
maxAndAvAccessors |
private java.util.concurrent.atomic.AtomicLong |
paintingDurationAv |
private java.util.concurrent.atomic.AtomicLong |
paintingDurationMax |
private java.util.concurrent.atomic.AtomicLong |
paintingDurationSum |
private java.util.concurrent.atomic.AtomicLong |
pulseCounter |
private AnimationPulse.PulseData |
pulseData |
private java.util.Queue<AnimationPulse.PulseData> |
pulseDataQueue |
private java.util.concurrent.atomic.AtomicLong |
pulseDurationAv |
private java.util.concurrent.atomic.AtomicLong |
pulseDurationMax |
private java.util.concurrent.atomic.AtomicLong |
pulseDurationSum |
private java.util.concurrent.atomic.AtomicLong |
skippedPulses |
private int |
skipPulses |
private java.util.concurrent.atomic.AtomicLong |
startAv |
private java.util.concurrent.atomic.AtomicLong |
startMax |
private java.util.concurrent.atomic.AtomicLong |
startSum |
Constructor and Description |
---|
AnimationPulse() |
private final java.util.Queue<AnimationPulse.PulseData> pulseDataQueue
private AnimationPulse.PulseData pulseData
private volatile boolean isEnabled
private final java.util.concurrent.atomic.AtomicLong pulseCounter
private final java.util.concurrent.atomic.AtomicLong startMax
private final java.util.concurrent.atomic.AtomicLong startSum
private final java.util.concurrent.atomic.AtomicLong startAv
private final java.util.concurrent.atomic.AtomicLong endMax
private final java.util.concurrent.atomic.AtomicLong endSum
private final java.util.concurrent.atomic.AtomicLong endAv
private final java.util.concurrent.atomic.AtomicLong animationDurationMax
private final java.util.concurrent.atomic.AtomicLong animationDurationSum
private final java.util.concurrent.atomic.AtomicLong animationDurationAv
private final java.util.concurrent.atomic.AtomicLong paintingDurationMax
private final java.util.concurrent.atomic.AtomicLong paintingDurationSum
private final java.util.concurrent.atomic.AtomicLong paintingDurationAv
private final java.util.concurrent.atomic.AtomicLong pulseDurationMax
private final java.util.concurrent.atomic.AtomicLong pulseDurationSum
private final java.util.concurrent.atomic.AtomicLong pulseDurationAv
private final java.util.concurrent.atomic.AtomicLong[] maxAndAv
private final AnimationPulse.PulseData.Accessor[] maxAndAvAccessors
private final java.util.concurrent.atomic.AtomicLong skippedPulses
private int skipPulses
public static AnimationPulse getDefaultBean()
public boolean getEnabled()
getEnabled
in interface AnimationPulseMBean
public void setEnabled(boolean enabled)
setEnabled
in interface AnimationPulseMBean
public long getPULSE_DURATION()
getPULSE_DURATION
in interface AnimationPulseMBean
public long getSkippedPulses()
getSkippedPulses
in interface AnimationPulseMBean
public long getSkippedPulsesIn1Sec()
getSkippedPulsesIn1Sec
in interface AnimationPulseMBean
public void recordStart(long shiftMillis)
private void purgeOldPulseData()
private void updateMaxAndAv()
public void recordEnd()
private long getAv(AnimationPulse.PulseData.Accessor accessor, long timeOut, java.util.concurrent.TimeUnit unit)
private long getMax(AnimationPulse.PulseData.Accessor accessor, long timeOut, java.util.concurrent.TimeUnit unit)
public long getStartMax()
getStartMax
in interface AnimationPulseMBean
public long getStartAv()
getStartAv
in interface AnimationPulseMBean
public long getStartMaxIn1Sec()
getStartMaxIn1Sec
in interface AnimationPulseMBean
public long getStartAvIn100Millis()
getStartAvIn100Millis
in interface AnimationPulseMBean
public long getEndMax()
getEndMax
in interface AnimationPulseMBean
public long getEndMaxIn1Sec()
getEndMaxIn1Sec
in interface AnimationPulseMBean
public long getEndAv()
getEndAv
in interface AnimationPulseMBean
public long getEndAvIn100Millis()
getEndAvIn100Millis
in interface AnimationPulseMBean
public void recordAnimationEnd()
public long getAnimationDurationMax()
getAnimationDurationMax
in interface AnimationPulseMBean
public long getAnimationMaxIn1Sec()
getAnimationMaxIn1Sec
in interface AnimationPulseMBean
public long getAnimationDurationAv()
getAnimationDurationAv
in interface AnimationPulseMBean
public long getAnimationDurationAvIn100Millis()
getAnimationDurationAvIn100Millis
in interface AnimationPulseMBean
public long getPaintingDurationMax()
getPaintingDurationMax
in interface AnimationPulseMBean
public long getPaintingDurationMaxIn1Sec()
getPaintingDurationMaxIn1Sec
in interface AnimationPulseMBean
public long getPaintingDurationAv()
getPaintingDurationAv
in interface AnimationPulseMBean
public long getPaintingDurationAvIn100Millis()
getPaintingDurationAvIn100Millis
in interface AnimationPulseMBean
public long getScenePaintingDurationMaxIn1Sec()
getScenePaintingDurationMaxIn1Sec
in interface AnimationPulseMBean
public long getPulseDurationMax()
getPulseDurationMax
in interface AnimationPulseMBean
public long getPulseDurationMaxIn1Sec()
getPulseDurationMaxIn1Sec
in interface AnimationPulseMBean
public long getPulseDurationAv()
getPulseDurationAv
in interface AnimationPulseMBean
public long getPulseDurationAvIn100Millis()
getPulseDurationAvIn100Millis
in interface AnimationPulseMBean
public long getPaintingPreparationDurationMaxIn1Sec()
getPaintingPreparationDurationMaxIn1Sec
in interface AnimationPulseMBean
public long getPaintingFinalizationDurationMaxIn1Sec()
getPaintingFinalizationDurationMaxIn1Sec
in interface AnimationPulseMBean