Class StopWatch


  • public class StopWatch
    extends java.lang.Object
    Based on the Spring StopWatch class, but supporting nested tasks
    Since:
    May 2, 2001
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  StopWatch.TaskInfo
      Inner class to hold data about one task executed within the stop watch.
    • Constructor Summary

      Constructors 
      Constructor Description
      StopWatch()
      Construct a new stop watch.
      StopWatch​(java.lang.String id)
      Construct a new stop watch with the given id.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void complete()  
      StopWatch.TaskInfo getLastTaskInfo()
      Return the last task as a TaskInfo object.
      java.lang.String getLastTaskName()
      Return the name of the last task.
      long getLastTaskTimeMillis()
      Return the time taken by the last task.
      int getTaskCount()
      Return the number of tasks timed.
      StopWatch.TaskInfo[] getTaskInfo()
      Return an array of the data for tasks performed.
      long getTotalTimeMillis()
      Return the total time in milliseconds for all tasks.
      double getTotalTimeSeconds()
      Return the total time in seconds for all tasks.
      boolean isRunning()
      Return whether the stop watch is currently running.
      java.lang.String prettyPrint()
      Return a string with a table describing all tasks performed.
      java.lang.String shortSummary()
      Return a short description of the total running time.
      void start()
      Start an unnamed task.
      void start​(java.lang.String taskName)
      Start a named task.
      void stop()
      Stop the current task.
      java.lang.String toString()
      Return an informative string describing all tasks performed For custom reporting, call getTaskInfo() and use the task info directly.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • StopWatch

        public StopWatch()
        Construct a new stop watch. Does not start any task.
      • StopWatch

        public StopWatch​(java.lang.String id)
        Construct a new stop watch with the given id. Does not start any task.
        Parameters:
        id - identifier for this stop watch. Handy when we have output from multiple stop watches and need to distinguish between them.
    • Method Detail

      • start

        public void start()
                   throws java.lang.IllegalStateException
        Start an unnamed task. The results are undefined if stop() or timing methods are called without invoking this method.
        Throws:
        java.lang.IllegalStateException
        See Also:
        stop()
      • start

        public void start​(java.lang.String taskName)
                   throws java.lang.IllegalStateException
        Start a named task. The results are undefined if stop() or timing methods are called without invoking this method.
        Parameters:
        taskName - the name of the task to start
        Throws:
        java.lang.IllegalStateException
        See Also:
        stop()
      • stop

        public void stop()
                  throws java.lang.IllegalStateException
        Stop the current task. The results are undefined if timing methods are called without invoking at least one pair start() / stop() methods.
        Throws:
        java.lang.IllegalStateException
        See Also:
        start()
      • complete

        public void complete()
      • isRunning

        public boolean isRunning()
        Return whether the stop watch is currently running.
      • getLastTaskTimeMillis

        public long getLastTaskTimeMillis()
                                   throws java.lang.IllegalStateException
        Return the time taken by the last task.
        Throws:
        java.lang.IllegalStateException
      • getLastTaskName

        public java.lang.String getLastTaskName()
                                         throws java.lang.IllegalStateException
        Return the name of the last task.
        Throws:
        java.lang.IllegalStateException
      • getLastTaskInfo

        public StopWatch.TaskInfo getLastTaskInfo()
                                           throws java.lang.IllegalStateException
        Return the last task as a TaskInfo object.
        Throws:
        java.lang.IllegalStateException
      • getTotalTimeMillis

        public long getTotalTimeMillis()
        Return the total time in milliseconds for all tasks.
      • getTotalTimeSeconds

        public double getTotalTimeSeconds()
        Return the total time in seconds for all tasks.
      • getTaskCount

        public int getTaskCount()
        Return the number of tasks timed.
      • getTaskInfo

        public StopWatch.TaskInfo[] getTaskInfo()
        Return an array of the data for tasks performed.
      • shortSummary

        public java.lang.String shortSummary()
        Return a short description of the total running time.
      • prettyPrint

        public java.lang.String prettyPrint()
        Return a string with a table describing all tasks performed. For custom reporting, call getTaskInfo() and use the task info directly.
      • toString

        public java.lang.String toString()
        Return an informative string describing all tasks performed For custom reporting, call getTaskInfo() and use the task info directly.
        Overrides:
        toString in class java.lang.Object