Class AbstractIntervalTimer
- java.lang.Object
-
- com.google.apphosting.runtime.timer.AbstractIntervalTimer
-
- All Implemented Interfaces:
Timer
public abstract class AbstractIntervalTimer extends Object implements Timer
AbstractIntervalTimer
is common base class forTimer
implementations that base measure the change in some value between the point where the timer is started and the point where the timer is stopped.This class is thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
cumulativeTime
protected boolean
running
protected long
startTime
-
Constructor Summary
Constructors Constructor Description AbstractIntervalTimer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract long
getCurrent()
long
getNanoseconds()
Get the number of nanoseconds that elapsed between when theTimer
was started and when it was stopped.protected double
getRatio()
The fraction of the change in the underlying counter which will be attributed to this timer.void
start()
Start the timer running.void
stop()
Stop the timer.void
update()
Update any internal state.protected void
update(long currentValue)
-
-
-
Method Detail
-
start
public void start()
Description copied from interface:Timer
Start the timer running.
-
stop
public void stop()
Description copied from interface:Timer
Stop the timer.
-
update
public void update()
Description copied from interface:Timer
Update any internal state. For example, someTimer
implementations may take snapshots of data that may be unavailable in the future. Clients should call this method periodically to qensure that any state is being updated. For an example, seeTimer.update()
.
-
getNanoseconds
public long getNanoseconds()
Description copied from interface:Timer
Get the number of nanoseconds that elapsed between when theTimer
was started and when it was stopped. Note that the return value has nanosecond precision but not necessarily nanosecond accuracy.- Specified by:
getNanoseconds
in interfaceTimer
-
getRatio
protected double getRatio()
The fraction of the change in the underlying counter which will be attributed to this timer. By default, 100% of it.
-
update
protected void update(long currentValue)
-
getCurrent
protected abstract long getCurrent()
-
-