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.