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 java.util.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

All Methods Static Methods Instance Methods Concrete Methods
`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, java.lang.String msg, java.lang.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 Detail

#### 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,
                               java.lang.String msg,
                               java.lang.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.