Performance Report Column Definition

The following table describes columns that appear in Call Tree, Caller Callee, Function Summary, Module Summary, Call Trace, and Thread Summary performance reports.

Column Name Description

Application

The file name of the application that created the process or thread.

Application Exclusive Time

Calculated time for a function or summary item that excludes performance data that contains transition events, time from collection probes, and the time of subroutines called by the function.

Application Inclusive Time

Calculated time for a function or summary item that excludes performance data that contains transition events and time from collection probes, but includes the application time of subroutines called by the function.

AVG Application Exclusive Time

The average application exclusive clock time (processor cycles), P6 performance, or user-defined counter value for all instances of this function in the specified data range.

AVG Application Inclusive Time

The average application inclusive clock time (processor cycles), P6 performance, or user-defined counter value for all instances of the function in the specified data range.

AVG Elapsed Exclusive Time

The average elapsed exclusive clock time (processor cycles), P6 performance or user-defined counter value for all instances of the function in the specified data range.

AVG Elapsed Inclusive Time

The average elapsed inclusive clock time (processor cycles), P6 performance, or user-defined counter value for all instances of the function in the specified data range.

Base Address

The memory address of the loaded module.

Call Depth

The depth of the call tree.

Elapsed Exclusive Time

Calculated time for a function or summary item that includes samples that contain transition events, and excludes time from collection probes and the elapsed time of subroutines called by the function.

Elapsed Inclusive Time

Calculated time for a function or summary item that includes samples that contain transition events and time from subroutines called by the function, but excludes time from collection probes.

Event Action

The type of event action that occurred. Its Event actions can be Entry or Exit. It only appears in the Call Tree report.

Event Type

Event Type, such as event action, appears only in Call Tree report. The following list explains different event types:

L - Loaded module

Additionally, if ETW events are enabled, event type also lists them.

Exclusive Allocations

Allocations in a function excluding all other allocations in subroutines that it called.

Exclusive Bytes Allocated

Bytes allocated in a function excluding all other byte allocations in subroutines that it called.

Exclusive Bytes Percent

(Bytes allocated in a function / total bytes ) * 100

Exclusive Transitions

The number of transition events that occurred in all instance of this function, excluding functions called by the function.

Exclusive Transitions Percentage

The percentage of transition events that occurred in the exclusive time of the instances of this function that were called by the parent function in the call tree compared to the total number of exclusive transitions in the data range.

Function Address

The address of the function in hexadecimal format.

Function Name

The name of the function.

ID

The system-defined numeric identifier assigned to the process or thread.

Inclusive Allocs

Allocations in a function including all allocations in subroutines that it called.

Inclusive Bytes Allocated

Bytes allocated in a function including all other byte allocations in subroutines that it called.

Inclusive Byte Percent

(Bytes allocated in a function and all other subroutines that it called / total bytes ) * 100

Inclusive Transitions

The number of transition events that occurred in all instances of this function, including functions called by the function.

Inclusive Transitions Percentage

The percentage of transition events that occurred in the inclusive time of the instances of this function that were called by the parent function in the call tree compared to the total number of inclusive transitions in the data range.

Level

The call depth in call tree.

Line Number

This is location in the source file of the start of the function.

MAX Elapsed Exclusive Time

The greatest elapsed exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MAX Application Exclusive Time

The maximum single application exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MAX Elapsed Inclusive Time

The greatest elapsed inclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MAX Application Inclusive Time

The greatest application inclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MIN Elapsed Exclusive Time

The least elapsed exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MIN Application Exclusive Time

The minimum application exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MIN Elapsed Inclusive Time

The least elapsed inclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

MIN Application Inclusive Time

The least application inclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree.

Module Identifier

An unsigned integer used to track the modules. It is assigned to a module based on the order in which it was loaded into the process. For example, the first module is module 0 and the second is module 1, and so on.

Module Name

The name of the module that contains the function.

Module Path

The directory location of the module.

Module Size

The size of the module in hexadecimal.

Name

The string assigned to the process or thread with the NameProfile API function. If no name was assigned to the item, the type of item (Process, Thread) is pre-pended to the item ID.

Number of Calls

The number of calls made to the instances of this function that were called by the parent function in the call tree.

Percentage of calls

The number of instances of this function that were called by the parent function in the call tree as a percentage of the total number of calls to all functions in the specified data range.

Process ID

The numeric identifier of the process.

Process Name

The process name.

Root Node Recursive

Indicates if this function was directly or indirectly called recursively in this context.

Source File Name

The name of the file that contains this function.

Stack Pointer

Stack pointer value for the function.

Time Exclusive Probe Overhead

The total time attributed to profiling probes in the exclusive time of the instances of this function that were called by the parent function in the call tree.

Time Inclusive Probe Overhead

The total time attributed to profiling probes in the inclusive time of the instances of this function that were called by the parent function in the call tree.

Timestamp

The time at which an event occurred.

Time Delta

The difference between the timestamp at which this event occurred and the previous event's timestamp.

Thread ID

The system-defined numeric identifier assigned to the thread.

Thread Name

The string assigned to the process or thread with the NameProfile API function. If no name was assigned to the item, the type of item (Process, Thread) is pre-pended to the item ID.

Type

It represents the type of row. A value of:

0 represents the root function

1 represents the caller

2 represents the callee

For example, if you have the following calltree:

main->funcA->funcB

Type column will have the following rows:

0 - main

2 - funcA

0 - funcA

1 - main

2 - funcB

0 - funcB

1 - funcA

Unique ID

A hexadecimal number that identifies the function.

Unique Process ID

An unsigned integer used to track the process. It is assigned to a process based on the order in which it was loaded. For example, the first process is 0 and the second is 1, and so on.

% Application Exclusive Time

The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the application exclusive time of all instances of the function in this context.

% Application Inclusive Time

The percentage of the total global clock time (processor cycles), or performance counter values of the specified data range that was spent in the inclusive time of all instances of the function in this context.

% Elapsed Exclusive Time

The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the elapsed exclusive time of all instances of the function in this context.

% Elapsed Inclusive Time

The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the elapsed inclusive time of all instances of the function in this context.

% Time Exclusive Probe Overhead

The percentage of the global clock time (processor cycles), or performance counter values for the specified data range that is attributed to profiling probes in the exclusive time of all instances of this function that were called by the parent function in the call tree.

% Time Inclusive Probe Overhead

The percentage of the global clock time (processor cycles), or performance counter values for the specified data range that is attributed to profiling probes in the inclusive time of all instances of this function that were called by the parent function in the call tree.

The following table describes columns that appear in the Header performance report:

Column Name Description

Tool Name and Full Version

The name and version of VSPerfReport.

VSPerf80.DLL File Version

The version of the data collection dynamic link library, named VSPerf80.DLL, that created the .vsp file.

Source File

The full path of the .vsp report file.

Command Line

Command that is used to create the performance report.

Report Creation Time

The date and time of report creation.

Size of Buffers

Size of the I/O Buffers. See I/O Buffers.

I/O Buffers

Count of buffers used for storing data during profiling.

Maximum Processes

Maximum number of processes that the profiler allows to be profiled at the same time, beyond which an error is reported. This can be controlled by a registry key.

Process Highwater

Maximum number of process profiled at the same time.

Final Processes

Number of processes alive at the end of the profiling run, typically only non-zero when detaching with sampling.

Total Processes

Total number of processes profiled over the lifetime of the profiling session.

Maximum Threads

Maximum number of threads that the profiler allows to be profiled at the same time, beyond which an error is reported. This can be controlled by a registry key.

Thread Highwater

Maximum number of threads profiled at a single time.

Final Threads

Number of active profiled threads running when the application terminated.

Total Threads

Total number of threads created during profiling.

Num. CPUs

Total number of CPUs in the computer that is used for profiling.

Clock Frequency

The processor clock speed.

Samples (Aborted)

Samples taken while the application's stack could not be walked.

Samples (Broken)

Incomplete stack because the call stack walk failed to walk up to the thread start address.

Samples (Overhead)

Samples that occurred while a call stack walk was occurring. These are thrown out.

Samples (Total)

Total samples that occurred.

Samples (Kernel)

Samples that were taken while the application was in kernel mode. These are thrown out.

Samples (Application)

Samples that were taken while the application was in application mode.

Sample Interval

Average of number of clock cycles between samples or the event used.

Kernel Etl File

If ETW data was collected, a separate file is created with that data and this is the location of the file with kernel events.

Application Etl File

Location of the file that contains ETW data.

Creation Time

This is the date/time that the .vsp file was created.

VSPerf Version

Version of the performance tool used.

Scenario Name

Defaults to ProfileRun. Can be set in process using the NameProfile API.

CPU ID

CPU manufacturer and type information.

Machine Name

Computer that is used for profiling.

Operating System

Operating system version information.

Counter 1 - 16

During instrumentation, you can collect data from many different counters. By default, only the TimeStamp counter is used.

Dirty Shutdown

Indicates that the profiler was abruptly terminated.

See Also

Reference

VSPerfReport