Package org.eclipse.m2m.atl.profiler.core

# Class ATLProfiler

java.lang.Object
java.util.Observable
org.eclipse.m2m.atl.profiler.core.ATLProfiler

public final class ATLProfiler extends Observable
ATLProfiler is a component that dispatch ATL debugging information to ATLModelHandler & ProfilerModelHandler. This class is used by the ProflingDebugger class.

See Also:
  - `ATLModelHandler`
  - `ProfilerModelHandler`

## Method Summary

Modifier and Type
Method
Description
`static ATLProfiler`
`getInstance()`
Singleton access.
`void`
`initProfiler(org.eclipse.emf.ecore.EObject model)`
Prepare atl & profiler model handlers with the ATL model.
`void`
`interceptEnter(IStackFrame frame)`
Intercept the beginning of an operation execution.
Delegate operation creation to `ProfilerModelHandler`.
Create entry in the operation registry (`ProfilerModelHandler`).
`void`
`interceptError(IStackFrame frame, String msg, Throwable e)`
Intercept errors.
`void`
`interceptLeave(IStackFrame frame)`
Intercept the exiting of an operation execution.
Delegate operation closure to `ProfilerModelHandler`.
Check entry in the operation registry.
`void`
`interceptStep(IStackFrame frame)`
Intercept simple instruction execution.
Delegate step creation to `ProfilerModelHandler`.
`void`
`interceptTerminated()`
Intercept execution end.
Close last operation and notify profiler model to listeners components.
`void`
`printProfilingSummary()`
Print short profiling summary.

### Methods inherited from class java.util.Observable

`addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getInstance

public static ATLProfiler getInstance()
Singleton access.

Returns:
  the `ATLProfiler` singleton

### initProfiler

public void initProfiler(org.eclipse.emf.ecore.EObject model)
Prepare atl & profiler model handlers with the ATL model.

Parameters:
  `model` - the ATL model

### interceptEnter

public void interceptEnter(IStackFrame frame)
Intercept the beginning of an operation execution.
Delegate operation creation to `ProfilerModelHandler`.
Create entry in the operation registry (`ProfilerModelHandler`).

Parameters:
  `frame` - the stack frame

### interceptLeave

public void interceptLeave(IStackFrame frame)
Intercept the exiting of an operation execution.
Delegate operation closure to `ProfilerModelHandler`.
Check entry in the operation registry.

Parameters:
  `frame` - the stack frame

### interceptStep

public void interceptStep(IStackFrame frame)
Intercept simple instruction execution.
Delegate step creation to `ProfilerModelHandler`.

Parameters:
  `frame` - the stack frame

### interceptError

public void interceptError(IStackFrame frame, String msg, Throwable e)
Intercept errors.

Parameters:
  `frame` - the stack frame
  `msg` - (message)
  `e` - (stacktrace)

### interceptTerminated

public void interceptTerminated()
Intercept execution end.
Close last operation and notify profiler model to listeners components.

### printProfilingSummary

public void printProfilingSummary()
Print short profiling summary.