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 Instance

The Instance Details window displays information specific to a selected actor instance.

The following views are available from the Instance Details window:

View Description
Actor Instances Shows all available instances of the selected task. The current selection is highlighted with light blue background, and if different the selection of the main window as well with a teal background.
Local Trace Shows the current trace view with the selected instance focused.
Communication Flow Shows any communication that this particular instance performs.

To view actor Instance information:

Viewing all Instances of an Actor

The Actor Overview window (Navigation bar > Create view Actor Overview) lists all of the instances related to the selected actor.

The following information is provided for each actor instance:

Tab 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.

 

Related Topics ABOUT TRACEALYZER:

rELATED tOPICS ABOUT MONITORING: