Package org.apache.uima.util.impl
Class ProcessTrace_impl
- java.lang.Object
-
- org.apache.uima.util.impl.ProcessTrace_impl
-
- All Implemented Interfaces:
java.io.Serializable
,ProcessTrace
public class ProcessTrace_impl extends java.lang.Object implements ProcessTrace
Reference implementation ofProcessTrace
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static ProcessTrace
disabledProcessTrace
private boolean
mEnabled
Indicates whether process trace is enabled.private java.util.List<ProcessTraceEvent>
mEventList
List of closed events.private java.util.Stack<ProcessTraceEvent_impl>
mOpenEvents
Stack of open events.private UimaTimer
mTimer
Timer class used to get timing information.private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description ProcessTrace_impl()
Create a ProcessTrace_impl using the framework's default timer.ProcessTrace_impl(boolean enabled)
ProcessTrace_impl(java.util.Properties aPerformanceTuningSettings)
Create a ProcessTrace_impl using the framework's default timer.ProcessTrace_impl(UimaTimer aTimer)
Create a ProcessTrace_impl with a custom timer.ProcessTrace_impl(UimaTimer aTimer, java.util.Properties aPerformanceTuningSettings)
Create a ProcessTrace_impl with a custom timer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAll(java.util.List<ProcessTraceEvent> aEventList)
Adds a list of completed event objects to thisProcessTrace
.void
addEvent(java.lang.String aComponentName, java.lang.String aType, java.lang.String aDescription, int aDuration, java.lang.String aResultMsg)
Adds an event with the specified parameters to thisProcessTrace
.void
addEvent(ProcessTraceEvent aEvent)
Adds a completed event object to thisProcessTrace
.void
aggregate(ProcessTrace aProcessTrace)
Aggregates the information in anotherProcessTrace
with this one.protected void
aggregateEvent(ProcessTraceEvent_impl aDest, ProcessTraceEvent_impl aSrc)
void
clear()
Resets thisProcessTrace
by removing all events.void
endEvent(java.lang.String aComponentName, java.lang.String aEventType, java.lang.String aResultMessage)
Records the end of an event.protected <T extends ProcessTraceEvent>
TfindCorrespondingEvent(java.util.List<T> aEventList, T aEvent)
ProcessTraceEvent
getEvent(java.lang.String aComponentName, java.lang.String aType)
Get a specified event.protected ProcessTraceEvent
getEvent(java.util.List<ProcessTraceEvent> aEvents, java.lang.String aComponentName, java.lang.String aType)
java.util.List<ProcessTraceEvent>
getEvents()
Gets a list ofProcessTraceEvent
s, in the order in which they were created.java.util.List<ProcessTraceEvent>
getEventsByComponentName(java.lang.String aComponentName, boolean aRecurseAfterMatch)
Gets all events that have the given Component name.protected void
getEventsByComponentName(ProcessTraceEvent aEvent, java.lang.String aComponentName, boolean aRecurseAfterMatch, java.util.List<ProcessTraceEvent> aResultList)
Utility method used by getEventsByComponentName(String) *java.util.List<ProcessTraceEvent>
getEventsByType(java.lang.String aType, boolean aRecurseAfterMatch)
Gets all events that have the given typeprotected void
getEventsByType(ProcessTraceEvent aEvent, java.lang.String aType, boolean aRecurseAfterMatch, java.util.List<ProcessTraceEvent> aResultList)
Utility method used by getEventsByType(String)void
startEvent(java.lang.String aComponentName, java.lang.String aEventType, java.lang.String aDescription)
Records the start of an event.java.lang.String
toString()
Generates a user-readable representation of all events in thisProcessTrace
.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
disabledProcessTrace
public static ProcessTrace disabledProcessTrace
-
mEventList
private java.util.List<ProcessTraceEvent> mEventList
List of closed events.
-
mOpenEvents
private java.util.Stack<ProcessTraceEvent_impl> mOpenEvents
Stack of open events.
-
mTimer
private UimaTimer mTimer
Timer class used to get timing information.
-
mEnabled
private boolean mEnabled
Indicates whether process trace is enabled.
-
-
Constructor Detail
-
ProcessTrace_impl
public ProcessTrace_impl()
Create a ProcessTrace_impl using the framework's default timer.
-
ProcessTrace_impl
ProcessTrace_impl(boolean enabled)
-
ProcessTrace_impl
public ProcessTrace_impl(java.util.Properties aPerformanceTuningSettings)
Create a ProcessTrace_impl using the framework's default timer.- Parameters:
aPerformanceTuningSettings
- performance tuning settings. One of the settings allows the ProcessTrace to be disabled.
-
ProcessTrace_impl
public ProcessTrace_impl(UimaTimer aTimer)
Create a ProcessTrace_impl with a custom timer.- Parameters:
aTimer
- the timer to use for collecting performance stats
-
ProcessTrace_impl
public ProcessTrace_impl(UimaTimer aTimer, java.util.Properties aPerformanceTuningSettings)
Create a ProcessTrace_impl with a custom timer.- Parameters:
aTimer
- the timer to use for collecting performance statsaPerformanceTuningSettings
- performance tuning settings. One of the settings allows the ProcessTrace to be disabled.
-
-
Method Detail
-
startEvent
public void startEvent(java.lang.String aComponentName, java.lang.String aEventType, java.lang.String aDescription)
Description copied from interface:ProcessTrace
Records the start of an event. The event will be ended when there is a corresponding call toProcessTrace.endEvent(String,String,String)
with the same component name and event type. The duration of the event will be automatically computed from the difference in time between the start and end.- Specified by:
startEvent
in interfaceProcessTrace
- Parameters:
aComponentName
- name of the component generating the eventaEventType
- type of the event. Standard types are defined as constants on theProcessTraceEvent
interface, but any string may be used.aDescription
- description of the event- See Also:
ProcessTrace.startEvent(java.lang.String, java.lang.String, java.lang.String)
-
endEvent
public void endEvent(java.lang.String aComponentName, java.lang.String aEventType, java.lang.String aResultMessage)
Description copied from interface:ProcessTrace
Records the end of an event. The event is identified by the component name and type. If there is no open event that matches those values, aUIMA_IllegalStateException
will be thrown.- Specified by:
endEvent
in interfaceProcessTrace
- Parameters:
aComponentName
- name of the component generating the eventaEventType
- type of the event. Standard types are defined as constants on theProcessTraceEvent
interface, but any string may be used.aResultMessage
- describes the result of the event- See Also:
ProcessTrace.endEvent(java.lang.String, java.lang.String, java.lang.String)
-
addEvent
public void addEvent(java.lang.String aComponentName, java.lang.String aType, java.lang.String aDescription, int aDuration, java.lang.String aResultMsg)
Description copied from interface:ProcessTrace
Adds an event with the specified parameters to thisProcessTrace
.- Specified by:
addEvent
in interfaceProcessTrace
- Parameters:
aComponentName
- name of the component generating the eventaType
- type of the event. Standard types are defined as constants on theProcessTraceEvent
interface, but any string may be used.aDescription
- description of the eventaDuration
- duration of the event in millisecondsaResultMsg
- result message of event- See Also:
ProcessTrace.addEvent(String, String, String, int, String)
-
addEvent
public void addEvent(ProcessTraceEvent aEvent)
Description copied from interface:ProcessTrace
Adds a completed event object to thisProcessTrace
. This method is useful for copying events from one ProcessTrace into another.- Specified by:
addEvent
in interfaceProcessTrace
- Parameters:
aEvent
- the event object to be added to thisProcessTrace
- See Also:
ProcessTrace.addEvent(org.apache.uima.util.ProcessTraceEvent)
-
addAll
public void addAll(java.util.List<ProcessTraceEvent> aEventList)
Description copied from interface:ProcessTrace
Adds a list of completed event objects to thisProcessTrace
. This method is useful for copying events from one ProcessTrace into another.- Specified by:
addAll
in interfaceProcessTrace
- Parameters:
aEventList
- a List of event object to be added to thisProcessTrace
- See Also:
ProcessTrace.addAll(java.util.List)
-
getEvents
public java.util.List<ProcessTraceEvent> getEvents()
Description copied from interface:ProcessTrace
Gets a list ofProcessTraceEvent
s, in the order in which they were created. This is generally chronological order.- Specified by:
getEvents
in interfaceProcessTrace
- Returns:
- an unmodifiable List of
ProcessTraceEvent
s - See Also:
ProcessTrace.getEvents()
-
getEventsByComponentName
public java.util.List<ProcessTraceEvent> getEventsByComponentName(java.lang.String aComponentName, boolean aRecurseAfterMatch)
Description copied from interface:ProcessTrace
Gets all events that have the given Component name.- Specified by:
getEventsByComponentName
in interfaceProcessTrace
- Parameters:
aComponentName
- the component name to look foraRecurseAfterMatch
- if true, all events with the given component name will be returned. If false, this method will not recurse into the sub-events of a matching event.- Returns:
- a List of ProcessTraceEvents having the given component name
- See Also:
ProcessTrace.getEventsByComponentName(String, boolean)
-
getEventsByType
public java.util.List<ProcessTraceEvent> getEventsByType(java.lang.String aType, boolean aRecurseAfterMatch)
Description copied from interface:ProcessTrace
Gets all events that have the given type- Specified by:
getEventsByType
in interfaceProcessTrace
- Parameters:
aType
- the type of event to look foraRecurseAfterMatch
- if true, all events with the given component name will be returned. If false, this method will not recurse into the sub-events of a matching event.- Returns:
- a List of ProcessTraceEvents having the given type
- See Also:
ProcessTrace.getEventsByType(String, boolean)
-
getEvent
public ProcessTraceEvent getEvent(java.lang.String aComponentName, java.lang.String aType)
Description copied from interface:ProcessTrace
Get a specified event.- Specified by:
getEvent
in interfaceProcessTrace
- Parameters:
aComponentName
- name of component producing desired eventaType
- type of desired event- Returns:
- the first ProcessTraceEvent matching the parameters,
null
if there is no such event. - See Also:
ProcessTrace.getEvent(String, String)
-
getEvent
protected ProcessTraceEvent getEvent(java.util.List<ProcessTraceEvent> aEvents, java.lang.String aComponentName, java.lang.String aType)
-
clear
public void clear()
Description copied from interface:ProcessTrace
Resets thisProcessTrace
by removing all events.- Specified by:
clear
in interfaceProcessTrace
- See Also:
ProcessTrace.clear()
-
aggregate
public void aggregate(ProcessTrace aProcessTrace)
Description copied from interface:ProcessTrace
Aggregates the information in anotherProcessTrace
with this one. Events that exist in both ProcessTraces will have their durations added together. This method is useful for collecting aggregate performance statistics for collection processing.- Specified by:
aggregate
in interfaceProcessTrace
- Parameters:
aProcessTrace
- the Process Trace object whose information will be combined with the information in this object- See Also:
ProcessTrace.aggregate(org.apache.uima.util.ProcessTrace)
-
toString
public java.lang.String toString()
Description copied from interface:ProcessTrace
Generates a user-readable representation of all events in thisProcessTrace
.- Specified by:
toString
in interfaceProcessTrace
- Overrides:
toString
in classjava.lang.Object
- Returns:
- the String representation of all events in this
ProcessTrace
. - See Also:
ProcessTrace.toString()
-
getEventsByComponentName
protected void getEventsByComponentName(ProcessTraceEvent aEvent, java.lang.String aComponentName, boolean aRecurseAfterMatch, java.util.List<ProcessTraceEvent> aResultList)
Utility method used by getEventsByComponentName(String) *- Parameters:
aEvent
- -aComponentName
- -aRecurseAfterMatch
- -aResultList
- -
-
getEventsByType
protected void getEventsByType(ProcessTraceEvent aEvent, java.lang.String aType, boolean aRecurseAfterMatch, java.util.List<ProcessTraceEvent> aResultList)
Utility method used by getEventsByType(String)- Parameters:
aEvent
- -aType
- -aRecurseAfterMatch
- -aResultList
- -
-
findCorrespondingEvent
protected <T extends ProcessTraceEvent> T findCorrespondingEvent(java.util.List<T> aEventList, T aEvent)
-
aggregateEvent
protected void aggregateEvent(ProcessTraceEvent_impl aDest, ProcessTraceEvent_impl aSrc)
-
-