Package org.glassfish.pfl.tf.timer.impl
Class TimerFactoryImpl
java.lang.Object
org.glassfish.pfl.tf.timer.spi.NamedBase
org.glassfish.pfl.tf.timer.impl.NamedBaseImpl
org.glassfish.pfl.tf.timer.impl.ControllableBase
org.glassfish.pfl.tf.timer.impl.TimerGroupImpl
org.glassfish.pfl.tf.timer.impl.TimerFactoryImpl
- All Implemented Interfaces:
Controllable
,Named
,TimerFactory
,TimerGroup
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map
<Controllable, Integer> private Map
<Integer, Controllable> private int
private ObjectRegistrationManager
private Map
<String, TimerGroupImpl> private Map
<String, TimerEventControllerBase> private Map
<String, TimerEventHandler> private Map
<String, TimerGroupImpl> -
Constructor Summary
ConstructorsConstructorDescriptionTimerFactoryImpl
(ObjectRegistrationManager orm, String name, String description) -
Method Summary
Modifier and TypeMethodDescriptionReturns a read-only view of the set of Controllables that are currently active.private void
Set
<? extends Controllable> Returns a read-only view of the set of enabled Controllables.getControllable
(int id) Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).makeController
(String name) Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.makeLogEventHandler
(String name) Create a new LogEventHandler.Create a new StatsEventHandler.makeStatsEventHandler
(String name) Create a new StatsEventHandler.Create a new Timer.makeTimerGroup
(String name, String description) Create a new TimerGroup.private void
mapId
(Controllable con) int
Returns the maximum id used by this TimerFactory for creating Controllables.void
removeController
(TimerEventControllerBase controller) Remove the controller from this factory.void
removeTimerEventHandler
(TimerEventHandler handler) Remove the handler from this TimerFactory.void
boolean
timerAlreadyExists
(String name) Return true iff a timer with the given name already exists.Returns a read-only map from TimerGroup names to TimerGroups.timers()
Returns a read-only map from Timer names to Timers.(package private) void
Methods inherited from class org.glassfish.pfl.tf.timer.impl.TimerGroupImpl
add, contents, remove, tcContents
Methods inherited from class org.glassfish.pfl.tf.timer.impl.ControllableBase
description, description, disable, enable, id, isEnabled, transitiveClosure
Methods inherited from class org.glassfish.pfl.tf.timer.impl.NamedBaseImpl
factory
Methods inherited from class org.glassfish.pfl.tf.timer.spi.NamedBase
equals, hashCode, name, setFactory, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.glassfish.pfl.tf.timer.spi.Controllable
contents, description, disable, enable, id, isEnabled
Methods inherited from interface org.glassfish.pfl.tf.timer.spi.TimerGroup
add, remove
-
Field Details
-
orm
-
conToInt
-
intToCon
-
nextIndex
private int nextIndex -
timers
-
roTimers
-
timerGroups
-
roTimerGroups
-
timerEventHandlers
-
timerEventControllers
-
-
Constructor Details
-
TimerFactoryImpl
-
-
Method Details
-
mapId
-
checkArgs
-
numberOfIds
public int numberOfIds()Description copied from interface:TimerFactory
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.- Specified by:
numberOfIds
in interfaceTimerFactory
-
getControllable
Description copied from interface:TimerFactory
Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).- Specified by:
getControllable
in interfaceTimerFactory
-
makeTracingEventHandler
- Specified by:
makeTracingEventHandler
in interfaceTimerFactory
-
makeLogEventHandler
Description copied from interface:TimerFactory
Create a new LogEventHandler. All LogEventHandler names must be unique within the same TimerFactory.- Specified by:
makeLogEventHandler
in interfaceTimerFactory
-
makeStatsEventHandler
Description copied from interface:TimerFactory
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.- Specified by:
makeStatsEventHandler
in interfaceTimerFactory
-
makeMultiThreadedStatsEventHandler
Description copied from interface:TimerFactory
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.- Specified by:
makeMultiThreadedStatsEventHandler
in interfaceTimerFactory
-
removeTimerEventHandler
Description copied from interface:TimerFactory
Remove the handler from this TimerFactory. The handler should not be used after this call.- Specified by:
removeTimerEventHandler
in interfaceTimerFactory
-
makeTimer
Description copied from interface:TimerFactory
Create a new Timer. Note that Timers cannot be destroyed, other than by garbage collecting the TimerFactory that created them.- Specified by:
makeTimer
in interfaceTimerFactory
-
timers
Description copied from interface:TimerFactory
Returns a read-only map from Timer names to Timers.- Specified by:
timers
in interfaceTimerFactory
-
makeTimerGroup
Description copied from interface:TimerFactory
Create a new TimerGroup. Note that TimerGroups cannot be destroyed, other than by garbage collecting the TimerFactory that created them.- Specified by:
makeTimerGroup
in interfaceTimerFactory
-
timerGroups
Description copied from interface:TimerFactory
Returns a read-only map from TimerGroup names to TimerGroups.- Specified by:
timerGroups
in interfaceTimerFactory
-
saveTimerEventController
-
makeController
Description copied from interface:TimerFactory
Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.- Specified by:
makeController
in interfaceTimerFactory
-
removeController
Description copied from interface:TimerFactory
Remove the controller from this factory. The controller should not be used after this call.- Specified by:
removeController
in interfaceTimerFactory
-
enabledSet
Description copied from interface:TimerFactory
Returns a read-only view of the set of enabled Controllables. These have been explicitly enabled via a call to enable().- Specified by:
enabledSet
in interfaceTimerFactory
-
activeSet
Description copied from interface:TimerFactory
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.- Specified by:
activeSet
in interfaceTimerFactory
-
updateActivation
void updateActivation() -
timerAlreadyExists
Description copied from interface:TimerFactory
Return true iff a timer with the given name already exists.- Specified by:
timerAlreadyExists
in interfaceTimerFactory
-