Execution Profiler

TestStand 2019 Help

Edition Date: May 2019

Part Number: 370052AA-01

»View Product Info
Download Help (Windows Only)

Types of Information the Profiler Records


The Execution Profiler records events that contain information about the following:

  • Step and Step Type Module Execution Times—The duration of code modules that steps call using any adapter, including subsequences called by Sequence Call steps.
  • Step and Step Type Module Load and Unload Times—The time spent loading and unloading LabVIEW VIs, C/C++ dlls, .NET assemblies, and COM servers that steps and step types call.
  • Step Execution Times—The complete execution duration for each step. This includes the code modules it calls, step looping, expression evaluation, result recording, post actions, switching, synchronization, and any other actions a step is configured to perform.
  • Batch, UUT, and Lot Duration—The time period spent testing each UUT, each Batch, and each Lot.
    Note Note  A Lot is a series of batches tested using the NI TestStand Semiconductor Module.
  • Synchronization Operations—The time spent waiting and duration of use for all synchronization operations, including operations on Locks, Notifications, Queues, Semaphores, Batch Synchronization Sections, Auto Schedule Blocks, and explicit Waits.

For each event, the profiler records the time of the event, the TestStand thread and execution in which it occurs, the sequence file, and location in the file from which it initiates. The profiler also records the name of the item for the event. The item name depends on what triggers the event. For example, it could be the name of a TestStand lock for a Lock event, or a description of a code module call for a step module event. The profiler also records other information, such as the index of the test socket from which the event originates.

The Events table displays a list of all the events the Execution Profiler has recorded.


The profiler associates multiple related events for the same item in the same thread with the logical operation that the events record. For example, a Wait operation associates the two events that the profiler records when a thread waits: the Blocked event, which records when the thread begins waiting, and the Completed event, which records when the thread resumes execution.

The Operations table display these operations. You can also view operations in both of the graphs the profiler provides. Typically, you use the profiler primarily to view various operations and how they relate to each other in initiation time, duration, and by thread.


Each operation the profiler records originates from a specific item. The item might be a code module, a synchronization object, a UUT, a Batch, a Lot, or a Step. The Items table displays all the items for which the profiler has recorded information. You can view the number of times an item is used and the total time spent using an item. You can also select and navigate to the Operations or Events for selected items.

The Items table contains a list of all code modules, steps, UUTs, batches, lots, and synchronization objects for which the Execution Profiler has recorded events.


The profiler displays a list of every thread in which a profiler event occurs in the Threads table. You can use the Threads table to view the amount of time a thread has been in use by or blocked waiting for profiled operations. You can view the number of operations in and the number of items used by each thread. If a thread is the root thread for a test socket execution, the profiler displays its test socket index. If a profiler event occurs in a thread that is not a TestStand execution thread, the thread name displays Non-Execution Thread. Note that TestStand often uses non-execution threads to load and unload modules.


The profiler displays a list of the executions that contain the threads that the Threads table displays. You can select and navigate to the Threads in each execution. Threads that are not TestStand execution threads appear in the profiler as belonging to an item in the execution table named Not-An-Execution.

The Executions table contains a list of all executions that contain threads for which the Execution Profiler recorded events."

See Also

Step Settings Pane

Lock Step


Not Helpful