Class AnalysisEngineManagementImpl

    • Field Detail

      • RESERVED_CHAR_PATTERN

        private static final java.util.regex.Pattern RESERVED_CHAR_PATTERN
      • format

        static final java.text.DecimalFormat format
      • usedRootNames

        private static final ConcurrentHashMapWithProducer<java.lang.String,​java.util.concurrent.atomic.AtomicInteger> usedRootNames
        This static set is needed to keep track of what names we've already used for "root" MBeans (those representing top-level AEs and CPEs).
      • name

        private java.lang.String name
      • numProcessed

        private final java.util.concurrent.atomic.AtomicLong numProcessed
      • markedAnalysisTime

        private final java.util.concurrent.atomic.AtomicLong markedAnalysisTime
      • markedBatchProcessCompleteTime

        private final java.util.concurrent.atomic.AtomicLong markedBatchProcessCompleteTime
      • markedCollectionProcessCompleteTime

        private final java.util.concurrent.atomic.AtomicLong markedCollectionProcessCompleteTime
      • markedServiceCallTime

        private final java.util.concurrent.atomic.AtomicLong markedServiceCallTime
      • analysisTime

        private final java.util.concurrent.atomic.AtomicLong analysisTime
      • batchProcessCompleteTime

        private final java.util.concurrent.atomic.AtomicLong batchProcessCompleteTime
      • collectionProcessCompleteTime

        private final java.util.concurrent.atomic.AtomicLong collectionProcessCompleteTime
      • serviceCallTime

        private final java.util.concurrent.atomic.AtomicLong serviceCallTime
      • uniqueMBeanName

        private java.lang.String uniqueMBeanName
      • threadId

        private long threadId
      • initializationTime

        private long initializationTime
      • produceAtomicInteger

        private static final java.util.concurrent.Callable<java.util.concurrent.atomic.AtomicInteger> produceAtomicInteger
    • Constructor Detail

      • AnalysisEngineManagementImpl

        public AnalysisEngineManagementImpl()
    • Method Detail

      • setInitializationTime

        public void setInitializationTime​(long initializationTime)
      • 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()
      • 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
      • 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
      • 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
      • 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.
      • getRootName

        static java.lang.String getRootName​(java.lang.String baseRootName)
        Parameters:
        baseRootName -
        Returns:
        the baseRootName (or CPE if null) plus a suffix 2, 3, ... to be unique
      • makeMBeanName

        private static java.lang.String makeMBeanName​(java.lang.String prefix,
                                                      java.lang.String contextName,
                                                      int depth)
        Recursive utility method for generating a hierarchical mbean name
      • escapeValue

        private static java.lang.String escapeValue​(java.lang.String value)
        Escapes the "value" part of a JMX name if necessary. If the value includes reserved characters (" , = : * ?) the value will be enclosed in quotes and some characters (" ? * \) will be escaped with backslashes.