protected <T extends ProcessTraceEvent> T findCorrespondingEvent(List<T> aEventList, T aEvent) { Iterator<T> it = aEventList.iterator(); while (it.hasNext()) { T evt = it.next(); if (evt.getComponentName().equals(aEvent.getComponentName()) && evt.getType().equals(aEvent.getType())) { return evt; } } return null; }
protected ProcessTraceEvent getEvent(List<ProcessTraceEvent> aEvents, String aComponentName, String aType) { Iterator<ProcessTraceEvent> it = aEvents.iterator(); while (it.hasNext()) { ProcessTraceEvent event = it.next(); if (aComponentName.equals(event.getComponentName()) && aType.equals(event.getType())) { return event; } else { ProcessTraceEvent matchingSubEvt = getEvent(event.getSubEvents(), aComponentName, aType); if (matchingSubEvt != null) { return matchingSubEvt; } } } return null; }
/** * Utility method used by getEventsByComponentName(String) * * @param aEvent - * @param aComponentName - * @param aRecurseAfterMatch - * @param aResultList - */ protected void getEventsByComponentName(ProcessTraceEvent aEvent, String aComponentName, boolean aRecurseAfterMatch, List<ProcessTraceEvent> aResultList) { if (aComponentName.equals(aEvent.getComponentName())) { aResultList.add(aEvent); if (!aRecurseAfterMatch) { return; } } // recurse into child events for (ProcessTraceEvent event : aEvent.getSubEvents()) { getEventsByComponentName(event, aComponentName, aRecurseAfterMatch, aResultList); } }
reportContent += "Processing Time\t" + processingTime + "\t"; for (ProcessTraceEvent event : mCPE.getPerformanceReport().getEvents()) { reportContent += event.getComponentName() + "-" + event.getType() + "\t" + event.getDuration() + "\t";
/** * Helper method to help build the CPM report. * * @param aEvent the a event * @param aTotalTime the a total time */ public void buildEventTree(ProcessTraceEvent aEvent, int aTotalTime) { // Skip reporting the CPM time.This time has already been acquired by summing up // times from all individual components if ("CPM".equals(aEvent.getComponentName())) { return; } int duration = aEvent.getDuration(); float pct = (float) ((duration * 100 * 10) / aTotalTime) / 10; String type = (String) mEventTypeMap.get(aEvent.getType()); if (type == null) { type = aEvent.getType(); } if (System.getProperty("DEBUG") != null) UIMAFramework.getLogger(this.getClass()).log( Level.FINEST, "" + pct + "% (" + duration + "ms) - " + aEvent.getComponentName() + " (" + type + ")"); Iterator it = aEvent.getSubEvents().iterator(); while (it.hasNext()) { ProcessTraceEvent event = (ProcessTraceEvent) it.next(); buildEventTree(event, aTotalTime); } }
+ aEvent.getComponentName() + " (" + type + ")"); aParentNode.add(node); Iterator it = aEvent.getSubEvents().iterator();
public void collectionProcessComplete() { if (logger != null) logger.logString(df.format(new Date()) + "\tCollection completed"); synchronized (this) { if (this.isProcessing) { this.notify(); if (logger != null) { StringBuilder reportContent = new StringBuilder(); for (ProcessTraceEvent event : mCPE.getPerformanceReport().getEvents()) { String componentName = event.getComponentName(); componentName = componentName.substring(componentName.lastIndexOf(".") + 1); String eventType = event.getType(); if (eventType.startsWith("End")) reportContent.append("\t\t" + event.getType() + "\t" + event.getDuration() + " ms\n"); else reportContent.append(componentName + "\t" + event.getType() + "\t" + event.getDuration() + " ms\n"); } this.logger.collectionProcessComplete(reportContent.toString()); } } this.isProcessing = false; } } }
/** * Dumps all events in the process trace object. * * @param aPTr - * event container */ public static void dumpEvents(ProcessTrace aPTr) { List aList = aPTr.getEvents(); for (int i = 0; i < aList.size(); i++) { ProcessTraceEvent prEvent = (ProcessTraceEvent) aList.get(i); String aEvType = prEvent.getType(); if (System.getProperty("DEBUG_EVENTS") != null) { if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) { UIMAFramework.getLogger(CPMUtils.class).log( Level.FINEST, "Returning Report With Event::" + aEvType + " For Component:::" + prEvent.getComponentName() + " Duration:::" + prEvent.getDurationExcludingSubEvents()); } } } }
if ("CPM".equals(event.getComponentName())) { if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) { UIMAFramework.getLogger(this.getClass()).log( Level.FINEST, "Current Component::" + event.getComponentName() + " Time::" + event.getDuration()); "Current Component::" + event.getComponentName());
String componentName = aEvent.getComponentName(); mAnnotatorAnalysisTimes.put(componentName, aEvent.getDuration()); } else if (ProcessTraceEvent.ANALYSIS_ENGINE.equals(aEvent.getType())) {
compNameS = prEvent.getComponentName(); typeS = prEvent.getType(); dur = prEvent.getDurationExcludingSubEvents();