![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Task Timeline (Trace)This command is only available for Apex Ada and Apex Duo.
This is the primary display of Trace. It plots the time tasks stay in execution as bars. The events used to calculate the start and end of these bars are the Switch_To events logged by the runtime when it changes context to another task. When an underlying threads package exists, it must support a preemption callout procedure so that the preemption context switches can be logged.
Runtimes with no support for a preemption callout routine must rely on "reality check" events to improve the accuracy of the task timeline plot.
Other events logged (such as Memory_Allocate or Tasking Services events) are used as a "reality check" to improve the accuracy of the timeline plot. For example, if a task shows up on a new process with no intervening preemption Switch_To event, we plot a context switch at that point.
There is no way to tell if the underlying Unix system preempts the threads or processes, so the timeline will not show the time a task waits on I/O or is timesliced out of execution. This problem will only arise on Cross systems if a task performs Cross I/O which passes control to the TDM.
If you examine the trace of a simple program that just does a few trivial rendezvous calls, you may find that the task timeline is less complex than you might have expected. This is due to the Fast Rendezvous optimization which allows a called task to execute in the callers context until it does something such as a delay or a rendezvous when the runtime finally gives up and switches the context. Therefore a simple entry that only modifies a global database may not even show up on a timeline plot.
Pressing and dragging the left mouse button in the graphics area selects an area. Releasing the button brings up a Raw Trace display containing all events that occurred within the selected area.
Pressing the middle mouse button in the graphics area activates the crosshair.
Pressing and dragging the right mouse button in the graphics area selects a zoom area. Releasing the button enlarges the selected area to fill the graph.
The Tasking Logic Analyzer is described in detail in the Tasking Logic Analyzer Guide.
Additional Topics
Rational Software Corporation http://www.rational.com support@rational.com techpubs@rational.com Copyright © 1993-2001, Rational Software Corporation. All rights reserved. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |