Execution Tracer
Svengali ExecutionTracer Package
Contact David Jones

The Execution Tracer records all the non-optimised method activations of a process.

Mechanics

The tracer works by setting itself as the 'debugger' for the profiled process then resuming it with the #step message. The process continues operating normally until either a method or block closure is activated, at which point the VM notifies the processor's current debugger, the tracer, through the #onStep: message. The tracer then records the current method, class of the receiver, the current stack position and position of the frame which sent the message. The process is then resumed again with #step. The overhead of this technique both in execution speed and the size of collected data is extreme.

Browsers

The collected data is visible with the help of the Execution Mural. A statistical view is provided by the Execution Statistics view.