org.glassfish.pfl.tf.timer.spi
Class TimerEvent

java.lang.Object
  extended by org.glassfish.pfl.tf.timer.spi.TimerEvent

public class TimerEvent
extends Object

Represents a particular observable event. We are mostly interested in measuring how long an operation takes. An operation is typically represented by a Timer, and then the timer is used to generate a TimerEvent at the entry to and exit from the operation.

Note that this class can also be used as a base class, in case there is a need to attach extra information to a TimerEvent.

All access to this class is unsynchronized. This class must be used either as an immutable (no calls to update), or access must be restricted to a single thread (as in an iterator).


Nested Class Summary
static class TimerEvent.TimerEventType
           
 
Constructor Summary
TimerEvent(TimerEvent te)
           
TimerEvent(Timer timer, TimerEvent.TimerEventType etype)
          Create a TimerEvent at the current time.
TimerEvent(Timer timer, TimerEvent.TimerEventType etype, long time)
          Create a TimerEvent at the given time.
 
Method Summary
 void incrementTime(long update)
           
 long time()
          Time of event in nanoseconds since the TimerLog was created or cleared.
 Timer timer()
          The name of the Timer used to create this entry.
 String toString()
           
 TimerEvent.TimerEventType type()
          Type of event: ENTER for start of interval for a Timer, EXIT for end of the interval.
 void update(Timer timer, TimerEvent.TimerEventType etype, long time)
          Re-use the same TimerEvent instance with different data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TimerEvent

public TimerEvent(TimerEvent te)

TimerEvent

public TimerEvent(Timer timer,
                  TimerEvent.TimerEventType etype)
Create a TimerEvent at the current time.


TimerEvent

public TimerEvent(Timer timer,
                  TimerEvent.TimerEventType etype,
                  long time)
Create a TimerEvent at the given time.

Method Detail

toString

public String toString()
Overrides:
toString in class Object

update

public void update(Timer timer,
                   TimerEvent.TimerEventType etype,
                   long time)
Re-use the same TimerEvent instance with different data. Used to create flyweight instances for iteration over a collection of TimerEvent instances.


incrementTime

public void incrementTime(long update)

timer

public Timer timer()
The name of the Timer used to create this entry.


type

public TimerEvent.TimerEventType type()
Type of event: ENTER for start of interval for a Timer, EXIT for end of the interval.


time

public long time()
Time of event in nanoseconds since the TimerLog was created or cleared.



Copyright © 2013 Oracle. All Rights Reserved.