Class AnalysisEngineManagementImpl

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

public class AnalysisEngineManagementImpl extends Object implements AnalysisEngineManagementImplMBean, AnalysisEngineManagement
Implements Monitoring/Management interface to an AnalysisEngine.
See Also:
  • Constructor Details

    • AnalysisEngineManagementImpl

      public AnalysisEngineManagementImpl()
  • Method Details

    • getInitializationTime

      public long getInitializationTime()
      Description copied from interface: AnalysisEngineManagement
      Total time it took AnalysisEngine to initialize
      Specified by:
      getInitializationTime in interface AnalysisEngineManagement
      Specified by:
      getInitializationTime in interface AnalysisEngineManagementImplMBean
      Returns:
      - initialization time
    • setInitializationTime

      public void setInitializationTime(long initializationTime)
    • getThreadId

      public long getThreadId()
      Description copied from interface: AnalysisEngineManagement
      Gets an id of a thread that was used to initialize AE instance
      Specified by:
      getThreadId in interface AnalysisEngineManagement
      Specified by:
      getThreadId in interface AnalysisEngineManagementImplMBean
      Returns:
      - thread id
    • getState

      public String getState()
      Description copied from interface: AnalysisEngineManagement
      Gets the current state of an AnalysisEngine. The AE should either be in Initializing or Ready state.
      Specified by:
      getState in interface AnalysisEngineManagement
      Specified by:
      getState in interface AnalysisEngineManagementImplMBean
      Returns:
      the state of the analysis engine, from the State enum above
    • setState

      public void setState(AnalysisEngineManagement.State state)
    • 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.
      Returns:
      Batch Process Complete time since mark
    • getCollectionProcessCompleteTimeSinceMark

      public long getCollectionProcessCompleteTimeSinceMark()
      Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.
      Returns:
      Collection Process Complete time since mark
    • getAnalysisTimeSinceMark

      public long getAnalysisTimeSinceMark()
      Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.
      Returns:
      Analysis time since mark
    • getServiceCallTimeSinceMark

      public long getServiceCallTimeSinceMark()
      Internal use only. Used to implement backwards compatibility with the ProcessTrace interface.
      Returns:
      service call time since mark
    • 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 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 Map<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(String key, AnalysisEngineManagementImpl component)
    • getName

      public 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 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(String aName, UimaContextAdmin aContext, 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.