| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.google.common.base.Stopwatch
@Beta @GwtCompatible(emulated=true) public final class Stopwatch
An object that measures elapsed time in nanoseconds. It is useful to measure
 elapsed time using this class instead of direct calls to System.nanoTime() for a few reasons:
 
nanoTime, the value returned has no absolute
     meaning, and can only be interpreted as relative to another timestamp
     returned by nanoTime at a different time. Stopwatch is a
     more effective abstraction because it exposes only these relative values,
     not the absolute ones.
 Basic usage:
Stopwatch stopwatch = new Stopwatch().start(); doSomething(); stopwatch.stop(); // optional long millis = stopwatch.elapsedMillis(); log.info("that took: " + stopwatch); // formatted string like "12.3 ms"
Stopwatch methods are not idempotent; it is an error to start or stop a stopwatch that is already in the desired state.
When testing code that uses this class, use the alternate constructor to supply a fake or mock ticker. This allows you to simulate any valid behavior of the stopwatch.
Note: This class is not thread-safe.
| Constructor Summary | |
|---|---|
| Stopwatch()Creates (but does not start) a new stopwatch using System.nanoTime()as its time source. | |
| Stopwatch(Ticker ticker)Creates (but does not start) a new stopwatch, using the specified time source. | |
| Method Summary | |
|---|---|
|  long | elapsedMillis()Returns the current elapsed time shown on this stopwatch, expressed in milliseconds, with any fraction rounded down. | 
|  long | elapsedTime(TimeUnit desiredUnit)Returns the current elapsed time shown on this stopwatch, expressed in the desired time unit, with any fraction rounded down. | 
|  boolean | isRunning()Returns trueifstart()has been called on this stopwatch,
 andstop()has not been called since the last call tostart(). | 
|  Stopwatch | reset()Sets the elapsed time for this stopwatch to zero, and places it in a stopped state. | 
|  Stopwatch | start()Starts the stopwatch. | 
|  Stopwatch | stop()Stops the stopwatch. | 
|  String | toString()Returns a string representation of the current elapsed time; equivalent to toString(4)(four significant figures). | 
|  String | toString(int significantDigits)Returns a string representation of the current elapsed time, choosing an appropriate unit and using the specified number of significant figures. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
|---|
public Stopwatch()
System.nanoTime()
 as its time source.
public Stopwatch(Ticker ticker)
| Method Detail | 
|---|
public boolean isRunning()
true if start() has been called on this stopwatch,
 and stop() has not been called since the last call to start().
public Stopwatch start()
Stopwatch instance
IllegalStateException - if the stopwatch is already running.public Stopwatch stop()
Stopwatch instance
IllegalStateException - if the stopwatch is already stopped.public Stopwatch reset()
Stopwatch instancepublic long elapsedTime(TimeUnit desiredUnit)
Note that the overhead of measurement can be more than a microsecond, so
 it is generally not useful to specify TimeUnit.NANOSECONDS
 precision here.
public long elapsedMillis()
elapsedTime(TimeUnit.MILLISECONDS.
@GwtIncompatible(value="String.format()") public String toString()
toString(4) (four significant figures).
toString in class Object@GwtIncompatible(value="String.format()") public String toString(int significantDigits)
elapsedTime(NANOSECONDS) would
 return {1234567}, toString(4) returns "1.235 ms".
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||