The Execution Tracer records all the non-optimised method activations of a process.
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.
The collected data is visible with the help of the Execution Mural. A statistical
view is provided by the Execution
Statistics view.