UIMA
  1. UIMA
  2. UIMA-2180

UIMA AS primitive service should return performance breakdown for each CAS

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4.0AS
    • Component/s: Async Scaleout
    • Labels:
      None

      Description

      Current UIMA AS code doesnt extract CAS per component performance breakdown from UIMA aggregate. Such breakdown would be very useful in identifying bottlenecks in a pipeline. This breakdown is available via AnalysisEngine's getManagementInterface(). The API accesses the same performance stats that AE exposes via JMX. Since these stats are cumulative, the UIMA AS code should calculate delta to obtain per CAS performance breakdown. Before calling processAndOutputNewCASes(), the code should make a copy (actually a deep copy) of AnalysisEngineManagement instance(s) and calculate delta (of analysisTime) before returning input CAS.
      The list containing the breakdown should be serialized into a reply message and de-serialized by the client. The UIMA AS client will provide an application the breakdown as a List via a callback method on UimaAsBaseCallbackListener.

        Activity

        Hide
        Jerry Cwiklik added a comment -

        Modified PrimitiveAnalysisEngineController to extract per component performance breakdown provided by UIMA aggregate. The breakdown is then attached to a reply message and reported to an application client via a new (overloaded)entityProcessComplete method. The new method exposes the breakdown in List<AnalysisEnginePerformanceMetrics> argument. Updated docbooks.

        Show
        Jerry Cwiklik added a comment - Modified PrimitiveAnalysisEngineController to extract per component performance breakdown provided by UIMA aggregate. The breakdown is then attached to a reply message and reported to an application client via a new (overloaded)entityProcessComplete method. The new method exposes the breakdown in List<AnalysisEnginePerformanceMetrics> argument. Updated docbooks.
        Hide
        Jerry Cwiklik added a comment -

        Extended UIMA AS client API to include
        public String sendAndReceiveCAS(CAS aCAS, List<AnalysisEnginePerformanceMetrics> componentMetricsList) throws ResourceProcessException;
        to provide application with per AE performance breakdown.

        Show
        Jerry Cwiklik added a comment - Extended UIMA AS client API to include public String sendAndReceiveCAS(CAS aCAS, List<AnalysisEnginePerformanceMetrics> componentMetricsList) throws ResourceProcessException; to provide application with per AE performance breakdown.

          People

          • Assignee:
            Jerry Cwiklik
            Reporter:
            Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development