06513155 is referenced by 64 patents.
A process and system for profiling code executing on a data processing system is provided. Event-based trace data is recorded in response to selected events, and the event-based trace data includes an indication which code is being interrupted. The trace data may be processed to identify a thread or method that was executing during the event. A periodically occurring event is also detected, and a call stack associated with the profiled code is identified in response to detection of the periodically occurring event, such as a timer interrupt. The call stack is examined to identify each routine that is currently executing during the periodically occurring event, and the trace data is recorded with the call stack information. The trace data from the recorded events and the trace data from the call stacks are processed to generate a tree structure in which the nodes indicate the call structure of the routine information from both the trace events and the call stacks.