Class AbstractIntervalTimer
java.lang.Object
com.google.apphosting.runtime.timer.AbstractIntervalTimer
- All Implemented Interfaces:
Timer
AbstractIntervalTimer
is common base class for Timer
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
FieldsModifier and TypeFieldDescriptionprotected long
protected boolean
protected long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract long
long
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)
-
Field Details
-
running
protected boolean running -
startTime
protected long startTime -
cumulativeTime
protected long cumulativeTime
-
-
Constructor Details
-
AbstractIntervalTimer
public AbstractIntervalTimer()
-
-
Method Details
-
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()
-