Module org.hsqldb

Class StopWatch

java.lang.Object
org.hsqldb.lib.StopWatch

public class StopWatch extends Object
Provides the programatic analog of a physical stop watch.

The watch can be started, stopped and zeroed and can be queried for elapsed running time. The watch accumulates elapsed time over starts and stops such that only the time actually spent running is recorded. If the watch is zeroed, then the accumulated time is discarded and the watch starts again with zero accumulated time.

Nanosecond support added by fredt@users

Since:
1.7.2
Author:
Campbell Burnet (campbell-burnet@users dot sourceforge.net)
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates, zeros, and starts a new StopWatch
    StopWatch(boolean start)
    Creates, zeros, and starts a new StopWatch
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Retrieves the accumulated nanoseconds this object has spent running since it was last started.
    Retrieves prefix + " in " + elapsedTime() + " ns."
    long
    Retrieves the accumulated milliseconds this object has spent running since it was last started.
    Retrieves prefix + " in " + elapsedTime() + " ms."
    long
    Retrieves the accumulated nanoseconds this object has spent running since it was last zeroed.
    Retrieves prefix + " in " + elapsedNanos() + " ns."
    long
    Retrieves the accumulated milliseconds this object has spent running since it was last zeroed.
    Retrieves prefix + " in " + elapsedTime() + " ms."
    void
     
    void
    Ensures that this object is in the running state.
    void
    Ensures that this object is in the stopped state.
    Retrieves the internal state of this object, as a String.
    void
    Zeros accumulated running time and restarts this object.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • StopWatch

      public StopWatch()
      Creates, zeros, and starts a new StopWatch
    • StopWatch

      public StopWatch(boolean start)
      Creates, zeros, and starts a new StopWatch
      Parameters:
      start - boolean
  • Method Details

    • elapsedTime

      public long elapsedTime()
      Retrieves the accumulated milliseconds this object has spent running since it was last zeroed.
      Returns:
      the accumulated milliseconds this object has spent running since it was last zeroed.
    • elapsedNanos

      public long elapsedNanos()
      Retrieves the accumulated nanoseconds this object has spent running since it was last zeroed.
      Returns:
      the accumulated nanoseconds this object has spent running since it was last zeroed.
    • currentElapsedTime

      public long currentElapsedTime()
      Retrieves the accumulated milliseconds this object has spent running since it was last started.
      Returns:
      the accumulated milliseconds this object has spent running since it was last started.
    • currentElapsedNanos

      public long currentElapsedNanos()
      Retrieves the accumulated nanoseconds this object has spent running since it was last started.
      Returns:
      the accumulated nanoseconds this object has spent running since it was last started.
    • zero

      public void zero()
      Zeros accumulated running time and restarts this object.
    • start

      public void start()
      Ensures that this object is in the running state. If this object is not running, then the call has the effect of setting the startTime attribute to the current value of System.nanoTime() and setting the running attribute to true.
    • stop

      public void stop()
      Ensures that this object is in the stopped state. If this object is in the running state, then this has the effect of adding to the total attribute the elapsed time since the last transition from stopped to running state and sets the running attribute to false. If this object is not in the running state, this call has no effect.
    • mark

      public void mark()
    • elapsedTimeToMessage

      public String elapsedTimeToMessage(String prefix)
      Retrieves prefix + " in " + elapsedTime() + " ms."
      Parameters:
      prefix - The string to use as a prefix
      Returns:
      prefix + " in " + elapsedTime() + " ms."
    • elapsedNanosToMessage

      public String elapsedNanosToMessage(String prefix)
      Retrieves prefix + " in " + elapsedNanos() + " ns."
      Parameters:
      prefix - The string to use as a prefix
      Returns:
      prefix + " in " + elapsedNanos() + " ns."
    • currentElapsedTimeToMessage

      public String currentElapsedTimeToMessage(String prefix)
      Retrieves prefix + " in " + elapsedTime() + " ms."
      Parameters:
      prefix - The string to use as a prefix
      Returns:
      prefix + " in " + elapsedTime() + " ms."
    • currentElapsedNanosToMessage

      public String currentElapsedNanosToMessage(String prefix)
      Retrieves prefix + " in " + elapsedTime() + " ns."
      Parameters:
      prefix - The string to use as a prefix
      Returns:
      prefix + " in " + elapsedTime() + " ns."
    • toString

      public String toString()
      Retrieves the internal state of this object, as a String. The retrieved value is:
          super.toString() +
          "[running=" +
          running +
          ", startTime=" +
          startTime +
          ", total=" +
          total + "]";
       
      Overrides:
      toString in class Object
      Returns:
      the state of this object, as a String