Thread Analysis
The Thread tab of the dynamic analyzer displays information about threads and synchronization.
The tab consists of the following views:
- Thread chart displays thread and synchronization operations and the thread load as a time flow graph.
- Thread API List view displays the thread or synchronization object APIs selected in the thread chart.
- Thread Details view displays detailed information on the thread or synchronization object selected in the thread chart.
- Snapshot view provides additional information in the form of snapshots.
Figure: Thread analysis
Thread Chart
The thread chart displays the thread and the related synchronization object in a tree format using a graph.
You can select either thread or synchronization as a parent of the tree.
Figure: Thread chart - thread parent
Figure: Thread chart - synchronization parent
The chart classifies thread and synchronization object states by color and shape:
- Blue colored area of the thread line depicts the thread load of that time frame. A darker color means higher load.
- Yellow vertical bar points the time when the API was called.
- Violet arrow displays the interaction between threads. The number inside the arrow is the thread ID of the related thread.
- Orange colored area of the synchronization object line displays the possession of that synchronization object (lock).
- Grey colored area of the synchronization object line shows the waiting time for the acquiring that synchronization object.
Thread API List
The Thread API List view displays the APIs associated with the thread or synchronization object selected in the thread chart.
Figure: Thread API List view
The view has the following columns:
- # (integer) shows the unique log index.
- Time (time) defines the time when the API was called.
- PID (integer) is the process ID of the API.
- TID (integer) is the thread ID of the API.
- API name (text) is the name of the API.
- Parameter shows the input parameter of the API.
- Return (integer) defines the return value.
- Error Code (text) shows the error description of the API. Normal end return is the E_SUCCESS.
Thread Details
The Thread Details view displays detailed information of the thread or synchronization object selected in the thread chart.
Figure: Thread Details view
The view has the following fields:
- Type displays the type of the thread or synchronization object.
- Thread ID is the thread ID (LWP) of the thread.
- Thread Function displays the name of the function, which the thread is executing.
- Start Time is the start time of the thread.
- End Time is the end time of the thread.
- Attr Type displays the attribute type of the thread.