Class ExecutionProfiler
- java.lang.Object
-
- org.eclipse.epsilon.eol.execute.control.ExecutionProfiler
-
- All Implemented Interfaces:
ExecutionController,IExecutionListener
- Direct Known Subclasses:
RuleProfiler
public class ExecutionProfiler extends java.lang.Object implements ExecutionController, IExecutionListener
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<ModuleElement,java.time.Duration>executionTimes
-
Constructor Summary
Constructors Constructor Description ExecutionProfiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaboutToExecute(ModuleElement ast, IEolContext context)voidcontrol(ModuleElement ast, IEolContext context)voiddispose()voiddone(ModuleElement ast, IEolContext context)voidfinishedExecuting(ModuleElement ast, java.lang.Object result, IEolContext context)voidfinishedExecutingWithException(ModuleElement ast, EolRuntimeException exception, IEolContext context)java.util.Map<ModuleElement,java.time.Duration>getExecutionTimes()booleanisTerminated()voidmergeExecutionTimes(java.util.Map<? extends ModuleElement,java.time.Duration>... others)voidreport(IEolContext context)protected booleanscreenAST(ModuleElement ast, IEolContext context)Determines whether the ModuleElement should be profiled.java.lang.StringtoString()
-
-
-
Field Detail
-
executionTimes
protected final java.util.Map<ModuleElement,java.time.Duration> executionTimes
-
-
Method Detail
-
screenAST
protected boolean screenAST(ModuleElement ast, IEolContext context)
Determines whether the ModuleElement should be profiled.- Parameters:
ast- The ModuleElement under scrutiny.context- The context passed tocontrol(ModuleElement, IEolContext)- Returns:
trueif the ModuleElement should be profiled,falseotherwise.- Since:
- 1.6
-
control
public void control(ModuleElement ast, IEolContext context)
- Specified by:
controlin interfaceExecutionController
-
done
public void done(ModuleElement ast, IEolContext context)
- Specified by:
donein interfaceExecutionController
-
dispose
public void dispose()
- Specified by:
disposein interfaceExecutionController
-
report
public void report(IEolContext context)
- Specified by:
reportin interfaceExecutionController
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
mergeExecutionTimes
@SafeVarargs public final void mergeExecutionTimes(java.util.Map<? extends ModuleElement,java.time.Duration>... others)
-
getExecutionTimes
public java.util.Map<ModuleElement,java.time.Duration> getExecutionTimes()
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminatedin interfaceExecutionController
-
aboutToExecute
public void aboutToExecute(ModuleElement ast, IEolContext context)
- Specified by:
aboutToExecutein interfaceIExecutionListener
-
finishedExecuting
public void finishedExecuting(ModuleElement ast, java.lang.Object result, IEolContext context)
- Specified by:
finishedExecutingin interfaceIExecutionListenerresult- the result of evaluating ast, calculated during execution
-
finishedExecutingWithException
public void finishedExecutingWithException(ModuleElement ast, EolRuntimeException exception, IEolContext context)
- Specified by:
finishedExecutingWithExceptionin interfaceIExecutionListener
-
-