Top Description Methods
org.glassfish.pfl.tf.timer.spi

public Interface TimerFactory

extends TimerGroup
Known Direct Implementers
org.glassfish.pfl.tf.timer.impl.TimerFactoryImpl
Imports
java.util.Map, .Set

Factory class for all Timer-related objects. TimerFactory is also a TimerGroup of all timers and timer groups that it creates.

Method Summary

Modifier and TypeMethod and Description
public Set<Timer>
activeSet()

Returns a read-only view of the set of Controllables that are currently active.

public Set<? extends Controllable>
enabledSet()

Returns a read-only view of the set of enabled Controllables.

public Controllable
getControllable(int id)

Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).

public TimerEventController
makeController(String name)

Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.

public LogEventHandler
makeLogEventHandler(String name)

Create a new LogEventHandler.

public StatsEventHandler
makeMultiThreadedStatsEventHandler(String name)

Create a new StatsEventHandler.

public StatsEventHandler
makeStatsEventHandler(String name)

Create a new StatsEventHandler.

public Timer
makeTimer(String name, String description)

Create a new Timer.

public TimerGroup
makeTimerGroup(String name, String description)

Create a new TimerGroup.

public TimerEventHandler
public int
numberOfIds()

Returns the maximum id used by this TimerFactory for creating Controllables.

public void
removeController(TimerEventControllerBase controller)

Remove the controller from this factory.

public void
removeTimerEventHandler(TimerEventHandler handler)

Remove the handler from this TimerFactory.

public boolean
timerAlreadyExists(String name)

Return true iff a timer with the given name already exists.

public Map<String, ? extends TimerGroup>
timerGroups()

Returns a read-only map from TimerGroup names to TimerGroups.

public Map<String, ? extends Timer>
timers()

Returns a read-only map from Timer names to Timers.

Inherited from org.glassfish.pfl.tf.timer.spi.TimerGroup:
addremove

Method Detail

activeSetback to summary
public Set<Timer> activeSet()

Returns a read-only view of the set of Controllables that are currently active. An enabled Timer is active. All Controllables contained in an active or enabled TimerGroup are active.

enabledSetback to summary
public Set<? extends Controllable> enabledSet()

Returns a read-only view of the set of enabled Controllables. These have been explicitly enabled via a call to enable().

getControllableback to summary
public Controllable getControllable(int id)

Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).

Exceptions
IndexOutOfBoundsException:
if id is not in range.
makeControllerback to summary
public TimerEventController makeController(String name)

Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.

makeLogEventHandlerback to summary
public LogEventHandler makeLogEventHandler(String name)

Create a new LogEventHandler. All LogEventHandler names must be unique within the same TimerFactory.

makeMultiThreadedStatsEventHandlerback to summary
public StatsEventHandler makeMultiThreadedStatsEventHandler(String name)

Create a new StatsEventHandler. A StatsEventHandler records running statistics for all enter/exit pairs until it is cleared, at which point it starts over. It will keep data separated for each thread, combining information correctly from multiple threads. All StatsEventHandler names must be unique within the same TimerFactory. This StatsEventHandler is multi-thread safe.

makeStatsEventHandlerback to summary
public StatsEventHandler makeStatsEventHandler(String name)

Create a new StatsEventHandler. A StatsEventHandler records running statistics for all enter/exit pairs until it is cleared, at which point it starts over. It will keep data separated for each thread, combining information correctly from multiple threads. All StatsEventHandler names must be unique within the same TimerFactory. This StatsEventHandler must be used from a single thread.

makeTimerback to summary
public Timer makeTimer(String name, String description)

Create a new Timer. Note that Timers cannot be destroyed, other than by garbage collecting the TimerFactory that created them.

makeTimerGroupback to summary
public TimerGroup makeTimerGroup(String name, String description)

Create a new TimerGroup. Note that TimerGroups cannot be destroyed, other than by garbage collecting the TimerFactory that created them.

makeTracingEventHandlerback to summary
public TimerEventHandler makeTracingEventHandler(String name)
numberOfIdsback to summary
public int numberOfIds()

Returns the maximum id used by this TimerFactory for creating Controllables. The value of con.id() for any Controllable created by this TimerFactory always ranges from 0 inclusive to numberOfIds() exclusive.

removeControllerback to summary
public void removeController(TimerEventControllerBase controller)

Remove the controller from this factory. The controller should not be used after this call.

removeTimerEventHandlerback to summary
public void removeTimerEventHandler(TimerEventHandler handler)

Remove the handler from this TimerFactory. The handler should not be used after this call.

timerAlreadyExistsback to summary
public boolean timerAlreadyExists(String name)

Return true iff a timer with the given name already exists.

timerGroupsback to summary
public Map<String, ? extends TimerGroup> timerGroups()

Returns a read-only map from TimerGroup names to TimerGroups.

timersback to summary
public Map<String, ? extends Timer> timers()

Returns a read-only map from Timer names to Timers.