Next: Remote Steering and Visualization
Up: Enabling Online Trace Analysis
Previous: Background Merging and Preparation
To make the trace data available for runtime analysis, we implemented the TAU
trace reader library. It can parse binary merged or unmerged traces (and
their respective event definition files) and provides this information to an
analysis tool using a trace analysis API. This API employs a callback
mechanism where the tool registers callback handlers for different events.
The library parses the trace and event description files and notifies the tool
of events that it is interested in, by invoking the appropriate handlers with
event specific parameters. We currently support callbacks for finding the
following:
- Clock period used in the trace
- Message send or receive events
- Mapping event identifiers to their state or event properties
- Defining a group identifier and associated group name
- Entering and leaving a state
Each of these callback routines have event specific parameters. For instance,
a send event handler has source and destination process identifiers, the
message length, and its tag as its parameters. Besides reading a group of
records from the trace file, our API supports file management routines for
opening, closing a trace file, for navigating the trace file by moving the
location of the current file pointer to an absolute or relative event
position. It supports both positive and negative event offsets. This allows
the analysis tool to read, for instance, the last 10000 events from the tail
of the event stream. The trace reader library is used by VNG to analyze the
merged binary event stream generated by an application instrumented with TAU.
Next: Remote Steering and Visualization
Up: Enabling Online Trace Analysis
Previous: Background Merging and Preparation
Sameer Suresh Shende
2003-09-12