Package io.microsphere.util
Class StopWatch
- java.lang.Object
-
- io.microsphere.util.StopWatch
-
public class StopWatch extends java.lang.Object
Stop Watch supports the nest tasks, the default task can't be reentrant, unlessStopWatch.Task.isReentrant()
is true bystart(String, boolean)
method setting.Note :
StopWatch
is not thread-safe- Since:
- 1.0.0
- Author:
- Mercy
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StopWatch.Task
-
Constructor Summary
Constructors Constructor Description StopWatch(java.lang.String id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<StopWatch.Task>
getCompletedTasks()
StopWatch.Task
getCurrentTask()
protected StopWatch.Task
getCurrentTask(boolean removed)
java.lang.String
getId()
java.util.List<StopWatch.Task>
getRunningTasks()
long
getTotalTime(java.util.concurrent.TimeUnit timeUnit)
long
getTotalTimeNanos()
void
start(java.lang.String taskName)
void
start(java.lang.String taskName, boolean reentrant)
void
stop()
java.lang.String
toString()
-
-
-
Method Detail
-
start
public void start(java.lang.String taskName) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
- Throws:
java.lang.IllegalArgumentException
java.lang.IllegalStateException
-
start
public void start(java.lang.String taskName, boolean reentrant) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
- Throws:
java.lang.IllegalArgumentException
java.lang.IllegalStateException
-
stop
public void stop() throws java.lang.IllegalStateException
- Throws:
java.lang.IllegalStateException
-
getCurrentTask
public StopWatch.Task getCurrentTask()
-
getCurrentTask
protected StopWatch.Task getCurrentTask(boolean removed)
-
getId
public java.lang.String getId()
-
getRunningTasks
public java.util.List<StopWatch.Task> getRunningTasks()
-
getCompletedTasks
public java.util.List<StopWatch.Task> getCompletedTasks()
-
getTotalTimeNanos
public long getTotalTimeNanos()
-
getTotalTime
public long getTotalTime(java.util.concurrent.TimeUnit timeUnit)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-