org.apache.uima.analysis_engine.impl
Class AnalysisEngineManagementImpl

java.lang.Object
  extended by org.apache.uima.analysis_engine.impl.AnalysisEngineManagementImpl
All Implemented Interfaces:
java.io.Serializable, AnalysisEngineManagement, AnalysisEngineManagementImplMBean, ManagementObject

public class AnalysisEngineManagementImpl
extends java.lang.Object
implements AnalysisEngineManagementImplMBean, AnalysisEngineManagement

Implements Monitoring/Management interface to an AnalysisEngine.

See Also:
Serialized Form

Constructor Summary
AnalysisEngineManagementImpl()
           
 
Method Summary
 void addComponent(java.lang.String key, AnalysisEngineManagementImpl component)
           
 long getAnalysisTime()
          Gets the total time this AnalysisEngine has spent doing analysis over its entire lifetime.
 long getAnalysisTimeSinceMark()
          Internal use only.
 long getBatchProcessCompleteTime()
          Gets the total time this AnalysisEngine has spent in its batchProcessComplete method over its entire lifetime.
 long getBatchProcessCompleteTimeSinceMark()
          Internal use only.
 java.lang.String getCASesPerSecond()
          Gets the throughput of this AnalysisEngine, represented as number of CASes processed per second.
 long getCollectionProcessCompleteTime()
          Gets the total time this AnalysisEngine has spent in its collectionProcessComplete method over its entire lifetime.
 long getCollectionProcessCompleteTimeSinceMark()
          Internal use only.
 java.util.Map<java.lang.String,AnalysisEngineManagement> getComponents()
          For an Aggregate AnalysisEngine, gets a Map whose values are AnalysisEngineManagement objects that contain the statistics for the components of the aggregate.
 java.lang.String getName()
          Gets a name for this AnalysisEngineManagement object, which will be unique among all of its siblings (i.e.
 long getNumberOfCASesProcessed()
          Gets the total number of CASes this AnalysisEngine has processed over its lifetime.
 long getServiceCallTime()
          If this AnalysisEngine is a proxy to a remote service, gets the total time spent making calls on that service.
 long getServiceCallTimeSinceMark()
          Internal use only.
 java.lang.String getUniqueMBeanName()
          Gets a valid JMX MBean name that is unique among all ManagementObjects in this JVM.
 void incrementCASesProcessed()
           
 void mark()
          Internal use only.
 void reportAnalysisTime(long time)
           
 void reportBatchProcessCompleteTime(long time)
           
 void reportCollectionProcessCompleteTime(long time)
           
 void reportServiceCallTime(long time)
           
 void resetStats()
          Resets all of the performance statistics to zero.
 void setName(java.lang.String aName, UimaContextAdmin aContext, java.lang.String aCustomPrefix)
          Sets the name of this AnalyaisEngineManagement object, and also computes the unique MBean name that can later be used to register this object with an MBeanServer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnalysisEngineManagementImpl

public AnalysisEngineManagementImpl()
Method Detail

reportAnalysisTime

public void reportAnalysisTime(long time)

reportBatchProcessCompleteTime

public void reportBatchProcessCompleteTime(long time)

reportCollectionProcessCompleteTime

public void reportCollectionProcessCompleteTime(long time)

reportServiceCallTime

public void reportServiceCallTime(long time)

incrementCASesProcessed

public void incrementCASesProcessed()

getBatchProcessCompleteTime

public long getBatchProcessCompleteTime()
Description copied from interface: AnalysisEngineManagement
Gets the total time this AnalysisEngine has spent in its batchProcessComplete method over its entire lifetime.

Specified by:
getBatchProcessCompleteTime in interface AnalysisEngineManagement
Specified by:
getBatchProcessCompleteTime in interface AnalysisEngineManagementImplMBean
Returns:
the batch process complete time in milliseconds

getCollectionProcessCompleteTime

public long getCollectionProcessCompleteTime()
Description copied from interface: AnalysisEngineManagement
Gets the total time this AnalysisEngine has spent in its collectionProcessComplete method over its entire lifetime.

Specified by:
getCollectionProcessCompleteTime in interface AnalysisEngineManagement
Specified by:
getCollectionProcessCompleteTime in interface AnalysisEngineManagementImplMBean
Returns:
the batch process complete time in milliseconds

getAnalysisTime

public long getAnalysisTime()
Description copied from interface: AnalysisEngineManagement
Gets the total time this AnalysisEngine has spent doing analysis over its entire lifetime. This includes calls to the AnalysisEngine.process(CAS) and AnalysisEngine.processAndOutputNewCASes(CAS) methods, as well as calls to the CasIterator returned from the processAndOutputNewCASes method.

Specified by:
getAnalysisTime in interface AnalysisEngineManagement
Specified by:
getAnalysisTime in interface AnalysisEngineManagementImplMBean
Returns:
the analysis time time in milliseconds

getServiceCallTime

public long getServiceCallTime()
Description copied from interface: AnalysisEngineManagement
If this AnalysisEngine is a proxy to a remote service, gets the total time spent making calls on that service.

Specified by:
getServiceCallTime in interface AnalysisEngineManagement
Specified by:
getServiceCallTime in interface AnalysisEngineManagementImplMBean
Returns:
the service call time in milliseconds, or 0 if this AnalysisEngine is not a proxy to a service

mark

public void mark()
Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.


getBatchProcessCompleteTimeSinceMark

public long getBatchProcessCompleteTimeSinceMark()
Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.


getCollectionProcessCompleteTimeSinceMark

public long getCollectionProcessCompleteTimeSinceMark()
Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.


getAnalysisTimeSinceMark

public long getAnalysisTimeSinceMark()
Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.


getServiceCallTimeSinceMark

public long getServiceCallTimeSinceMark()
Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.


getNumberOfCASesProcessed

public long getNumberOfCASesProcessed()
Description copied from interface: AnalysisEngineManagement
Gets the total number of CASes this AnalysisEngine has processed over its lifetime. For a CAS Multipliers, this includes both input and output CASes.

Specified by:
getNumberOfCASesProcessed in interface AnalysisEngineManagement
Specified by:
getNumberOfCASesProcessed in interface AnalysisEngineManagementImplMBean
Returns:
the number of CASes processed

getCASesPerSecond

public java.lang.String getCASesPerSecond()
Description copied from interface: AnalysisEngineManagement
Gets the throughput of this AnalysisEngine, represented as number of CASes processed per second.

Specified by:
getCASesPerSecond in interface AnalysisEngineManagement
Specified by:
getCASesPerSecond in interface AnalysisEngineManagementImplMBean
Returns:
a string representation of the throughput

getComponents

public java.util.Map<java.lang.String,AnalysisEngineManagement> getComponents()
Description copied from interface: AnalysisEngineManagement
For an Aggregate AnalysisEngine, gets a Map whose values are AnalysisEngineManagement objects that contain the statistics for the components of the aggregate. The keys in the Map are the unique String keys specified in the aggregate AnalysisEngine descriptor. If this AnalysisEngine is a primitive, returns an empty Map.

Specified by:
getComponents in interface AnalysisEngineManagement
Returns:
a map from String keys to AnalysisEngineManagement objects

addComponent

public void addComponent(java.lang.String key,
                         AnalysisEngineManagementImpl component)

getName

public java.lang.String getName()
Description copied from interface: AnalysisEngineManagement
Gets a name for this AnalysisEngineManagement object, which will be unique among all of its siblings (i.e. the objects returned from its parent's AnalysisEngineManagement.getComponents() method.

Specified by:
getName in interface AnalysisEngineManagement
Specified by:
getName in interface AnalysisEngineManagementImplMBean
Returns:
a name for this AnalysisEngineManagement object

getUniqueMBeanName

public java.lang.String getUniqueMBeanName()
Description copied from interface: ManagementObject
Gets a valid JMX MBean name that is unique among all ManagementObjects in this JVM. (Technically, it is unique only among ManagementObjects objects loaded by the same ClassLoader, which is whatever ClassLoader was used to load the UIMA Framework classes.)

If you are running with JRE 1.5, this is the name used to register this object with the platform MBeanServer.

Specified by:
getUniqueMBeanName in interface ManagementObject
Returns:
a unique MBean name

resetStats

public void resetStats()
Description copied from interface: AnalysisEngineManagement
Resets all of the performance statistics to zero. For an Aggregate Analysis Engine, also resets the statistics for all the components of the aggregate.

Specified by:
resetStats in interface AnalysisEngineManagement
Specified by:
resetStats in interface AnalysisEngineManagementImplMBean

setName

public void setName(java.lang.String aName,
                    UimaContextAdmin aContext,
                    java.lang.String aCustomPrefix)
Sets the name of this AnalyaisEngineManagement object, and also computes the unique MBean name that can later be used to register this object with an MBeanServer.

Parameters:
aName - the simple name of this AnalysisEngine (generally this is the name property from the AnalysisEngineMetaData)
aContext - the UimaContext for this AnalysisEngine. Needed to compute the unique name, which is hierarchical
aCustomPrefix - an optional prefix provided by the Application, which will be prepended to the name generated by UIMA. If null, the prefix "org.apache.uima:" will be used.


Copyright © 2011. All Rights Reserved.