Package org.apache.logging.log4j.util
Class Timer
- java.lang.Object
-
- org.apache.logging.log4j.util.Timer
-
- All Implemented Interfaces:
java.io.Serializable,StringBuilderFormattable
public class Timer extends java.lang.Object implements java.io.Serializable, StringBuilderFormattable
Primarily used in unit tests, but can be used to track elapsed time for a request or portion of any other operation so long as all the timer methods are called on the same thread in which it was started. Calling start on multiple threads will cause the times to be aggregated.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTimer.Status
-
Field Summary
Fields Modifier and Type Field Description private longelapsedTimeprivate intiterationsprivate java.lang.Stringnameprivate static longNANO_PER_HOURprivate static longNANO_PER_MINUTEprivate static longNANO_PER_SECONDprivate static longserialVersionUIDprivate java.lang.ThreadLocal<java.lang.Long>startTimeprivate Timer.Statusstatus
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)voidformatTo(java.lang.StringBuilder buffer)Writes a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.longgetElapsedNanoTime()Access the elapsed time.longgetElapsedTime()Access the elapsed time.java.lang.StringgetName()Accessor for the name.Timer.StatusgetStatus()Returns the name of the last operation performed on this timer (Start, Stop, Pause or Resume).inthashCode()voidpause()Pause the timer.voidresume()Resume the timer.voidstart()Start the timer.voidstartOrResume()java.lang.Stringstop()Stop the timer.java.lang.StringtoString()Returns the String representation of the timer based upon its current state
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
name
private final java.lang.String name
-
status
private Timer.Status status
-
elapsedTime
private long elapsedTime
-
iterations
private final int iterations
-
NANO_PER_SECOND
private static long NANO_PER_SECOND
-
NANO_PER_MINUTE
private static long NANO_PER_MINUTE
-
NANO_PER_HOUR
private static long NANO_PER_HOUR
-
startTime
private java.lang.ThreadLocal<java.lang.Long> startTime
-
-
Method Detail
-
start
public void start()
Start the timer.
-
startOrResume
public void startOrResume()
-
stop
public java.lang.String stop()
Stop the timer.
-
pause
public void pause()
Pause the timer.
-
resume
public void resume()
Resume the timer.
-
getName
public java.lang.String getName()
Accessor for the name.- Returns:
- the timer's name.
-
getElapsedTime
public long getElapsedTime()
Access the elapsed time.- Returns:
- the elapsed time.
-
getElapsedNanoTime
public long getElapsedNanoTime()
Access the elapsed time.- Returns:
- the elapsed time.
-
getStatus
public Timer.Status getStatus()
Returns the name of the last operation performed on this timer (Start, Stop, Pause or Resume).- Returns:
- the string representing the last operation performed.
-
toString
public java.lang.String toString()
Returns the String representation of the timer based upon its current state- Overrides:
toStringin classjava.lang.Object
-
formatTo
public void formatTo(java.lang.StringBuilder buffer)
Description copied from interface:StringBuilderFormattableWrites a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.- Specified by:
formatToin interfaceStringBuilderFormattable- Parameters:
buffer- the StringBuilder to write into
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-