Actors and Actor Instances

To understand Tracealyzer you must first understand two key concepts: Actors and Actor Instances.

Term Definition
Actor A thread.
Actor Instance

An execution of an Actor. This is the set of all fragments connected by the same colored band. It represents a single execution of the task which the actor performs. For a handler actor, that means a single execution of the handler function. For regular threads, instance boundaries are defined by sleeps or blocking calls (RtWaitForSingleObject(Ex) or RtWaitForMultipleObjects(Ex) with the notable exception of mutex objects, which are not considered instance boundaries.

For a handler function, such as an IST or timer handler, the execution of the handler is a single actor instance. In all other cases, the following applies:

  • An actor instance starts when a thread begins execution or when it resumes execution after the end of a previous actor instance.
  • An actor instance ends when the thread sleeps or blocks in a call to RtWaitForSingleObject(Ex) or RtWaitForMultipleObjects(Ex), with the exception that blocking on a mutex never ends an actor instance.

NOTE: There are cases where Tracealyzer cannot identify instance boundaries for an actor in which case each fragment is considered its own instance.

Viewing Information about an Actor

You can view information specific to a selected actor (thread) in the Tool Panel.

To view actor information:

  1. Ensure that the Tool Panel is open (View > Show Tool Panel).
  2. With a monitoring session open, click on the actor (thread) in the Trace View.

Information specific to the selected actor appears in the Actor Information window in the Tool Panel. Expand or collapse the branches of the tree view to show more or less information as needed.

Viewing all Instances of an Actor

The Actor Instances window lists all of the instances related to the selected actor.

To view actor instances:

The Actor Instances window appears. This window lists all of the related instances of the selected actor.

The following information is provided for each actor instance:

Label Description
Start Time The time marker at which the instance started.
End Time The time marker at which the instance ended.
Execution Time The amount of CPU time used by an Actor Instance, excluding pre-emptions.
Response Time The time from the start of an actor instance until it finishes. The response time for threads is counted from the point when the thread becomes ready to execute. For Interrupt Service Routines, the Response Time is counted from start of execution. Note that events can be excluded to reduce RAM buffer usage. In such cases, Task Response Time is counted from start of execution.
Fragmentation The number of fragments within an Actor Instance, i.e., due to context switching. If an Actor Instance executes in full without pre-emptions, the fragmentation of the instance is 1.

NOTE: You can view this same information in graph form using the Actor Instance Graph window.

Related Topics ABOUT TRACEALYZER:

rELATED tOPICS ABOUT MONITORING: