I was just testing CVD for the next release, and tried
out the new performance report feature.  Internally, this
uses the ProcessTrace feature of AnalysisEngine.process().
It seems that if the process() call returns very quickly,
i.e., in 0ms according to the Java timer, no ProcessTrace
sub-events are recorded.  For example, I'm running the
tagger, and here's some output I get:

This one looks fine, as expected:

3/27/08 4:29:52 PM - 10: org.apache.uima.tools.cvd.MainFrame.internalRunAE(1570): INFO: Process trace of AE run:
Component Name: HmmTaggerTAE
Event Type: Analysis
Duration: 2078ms (100%)
Sub-events:
        Component Name: WhitespaceTokenizer
        Event Type: Analysis
        Duration: 265ms (12.75%)

        Component Name: Hidden Markov Model - Part of Speech Tagger
        Event Type: Analysis
        Duration: 1813ms (87.25%)

        Component Name: Fixed Flow Controller
        Event Type: Analysis
        Duration: 0ms (0%)

Next one seems to have lost the tagger:

3/27/08 4:30:08 PM - 10: org.apache.uima.tools.cvd.MainFrame.internalRunAE(1570): INFO: Process trace of AE run:
Component Name: HmmTaggerTAE
Event Type: Analysis
Duration: 16ms (100%)
Sub-events:
        Component Name: WhitespaceTokenizer
        Event Type: Analysis
        Duration: 16ms (100%)

        Component Name: Fixed Flow Controller
        Event Type: Analysis
        Duration: 0ms (0%)

Finally, this one only has the flow controller:

3/27/08 4:30:19 PM - 10: org.apache.uima.tools.cvd.MainFrame.internalRunAE(1570): INFO: Process trace of AE run:
Component Name: HmmTaggerTAE
Event Type: Analysis
Duration: 0ms
Sub-events:
        Component Name: Fixed Flow Controller
        Event Type: Analysis
        Duration: 0ms

Looking at this in the debugger, there are no subevents
there, so it's not a problem with the printing.

Is this expected, or is it a bug?  Seems to me it is a bug,
but I'm not sure from the documentation.

--Thilo

Reply via email to