A system for conducting performance analysis for executing tasks. The
analysis involves generating a variety of trace information related to
performance measures, including parallelism-related information, during
execution of the task. In order to generate the trace information, target
source code of interest is compiled in such a manner that executing the
resulting executable code will generate execution trace information
composed of a series of events. Each event stores trace information
related to a variety of performance measures for the one or more
processors and protection domains used. After the execution trace
information has been generated, the system can use that trace information
and a trace information description file to produce useful performance
measure information. The trace information description file contains
information that describes the types of execution events as well as the
structure of the stored information. The system uses the trace
information description file to organize the information in the trace
information file, extracts a variety of types of performance measure
information from the organized trace information, and formats the
extracted information for display. The system can use default or
user-defined functions to extract and format trace information for
display. After the system displays one or more types of performance
measure information, a user of the system can then interact with the
system in a variety of ways to obtain other useful performance analysis
information.