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 ProcessTracedisabledProcessTraceprivate booleanmEnabledIndicates whether process trace is enabled.private java.util.List<ProcessTraceEvent>mEventListList of closed events.private java.util.Stack<ProcessTraceEvent_impl>mOpenEventsStack of open events.private UimaTimermTimerTimer class used to get timing information.private static longserialVersionUID
-
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 voidaddAll(java.util.List<ProcessTraceEvent> aEventList)Adds a list of completed event objects to thisProcessTrace.voidaddEvent(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.voidaddEvent(ProcessTraceEvent aEvent)Adds a completed event object to thisProcessTrace.voidaggregate(ProcessTrace aProcessTrace)Aggregates the information in anotherProcessTracewith this one.protected voidaggregateEvent(ProcessTraceEvent_impl aDest, ProcessTraceEvent_impl aSrc)voidclear()Resets thisProcessTraceby removing all events.voidendEvent(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)ProcessTraceEventgetEvent(java.lang.String aComponentName, java.lang.String aType)Get a specified event.protected ProcessTraceEventgetEvent(java.util.List<ProcessTraceEvent> aEvents, java.lang.String aComponentName, java.lang.String aType)java.util.List<ProcessTraceEvent>getEvents()Gets a list ofProcessTraceEvents, 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 voidgetEventsByComponentName(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 voidgetEventsByType(ProcessTraceEvent aEvent, java.lang.String aType, boolean aRecurseAfterMatch, java.util.List<ProcessTraceEvent> aResultList)Utility method used by getEventsByType(String)voidstartEvent(java.lang.String aComponentName, java.lang.String aEventType, java.lang.String aDescription)Records the start of an event.java.lang.StringtoString()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:ProcessTraceRecords 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:
startEventin interfaceProcessTrace- Parameters:
aComponentName- name of the component generating the eventaEventType- type of the event. Standard types are defined as constants on theProcessTraceEventinterface, 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:ProcessTraceRecords 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_IllegalStateExceptionwill be thrown.- Specified by:
endEventin interfaceProcessTrace- Parameters:
aComponentName- name of the component generating the eventaEventType- type of the event. Standard types are defined as constants on theProcessTraceEventinterface, 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:ProcessTraceAdds an event with the specified parameters to thisProcessTrace.- Specified by:
addEventin interfaceProcessTrace- Parameters:
aComponentName- name of the component generating the eventaType- type of the event. Standard types are defined as constants on theProcessTraceEventinterface, 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:ProcessTraceAdds a completed event object to thisProcessTrace. This method is useful for copying events from one ProcessTrace into another.- Specified by:
addEventin 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:ProcessTraceAdds a list of completed event objects to thisProcessTrace. This method is useful for copying events from one ProcessTrace into another.- Specified by:
addAllin 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:ProcessTraceGets a list ofProcessTraceEvents, in the order in which they were created. This is generally chronological order.- Specified by:
getEventsin interfaceProcessTrace- Returns:
- an unmodifiable List of
ProcessTraceEvents - See Also:
ProcessTrace.getEvents()
-
getEventsByComponentName
public java.util.List<ProcessTraceEvent> getEventsByComponentName(java.lang.String aComponentName, boolean aRecurseAfterMatch)
Description copied from interface:ProcessTraceGets all events that have the given Component name.- Specified by:
getEventsByComponentNamein 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:ProcessTraceGets all events that have the given type- Specified by:
getEventsByTypein 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:ProcessTraceGet a specified event.- Specified by:
getEventin interfaceProcessTrace- Parameters:
aComponentName- name of component producing desired eventaType- type of desired event- Returns:
- the first ProcessTraceEvent matching the parameters,
nullif 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:ProcessTraceResets thisProcessTraceby removing all events.- Specified by:
clearin interfaceProcessTrace- See Also:
ProcessTrace.clear()
-
aggregate
public void aggregate(ProcessTrace aProcessTrace)
Description copied from interface:ProcessTraceAggregates the information in anotherProcessTracewith 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:
aggregatein 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:ProcessTraceGenerates a user-readable representation of all events in thisProcessTrace.- Specified by:
toStringin interfaceProcessTrace- Overrides:
toStringin 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)
-
-