A system and method for obtaining performance data from software compiled with
or without trace hooks is provided. A software application is entered and a trace
data flag is set to off. For each module initiated by the software application,
the trace data flag is set to on if the module is registered with a performance
analyzer tool. If the module does have trace data hooks and the trace data flag
is on, then, a request is transmitted to the performance analyzer tool to record
trace data. If the module does not have trace data hooks and the trace flag is
on, a request is transmitted to the performance analyzer tool to record trace data
in response to entering and exiting the module. When the software application exits,
a report based on the trace data is received from the performance analyzer tool.