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