Modules View - .NET memory instrumentation data

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

The Modules view of .NET memory allocation data collected by using the instrumentation method groups the memory and timing data by the modules that were executed in the profiling run. Profiling data for the functions of the module is listed underneath the module node.

General

Column Description
Name The name of the function or module.
Function Line Number The line number of the start of this function in the source file.
Number of Calls The total number of calls that were made to this function or module.
Source File The source file that contains the definition of this function.
Module Name The name of the module that contains the function.
Module Path The path of the module that contains the function.
Process ID The process ID (PID) of the profiling run.
Process Name The name of the process in which the module or function was executing.
Time Exclusive Probe Overhead The time overhead for this function or module because of instrumentation.
Time Inclusive Probe Overhead The time overhead for this function or module and its child functions because of instrumentation.

.NET memory values

The inclusive .NET memory values of a function indicate the number (allocations) and size (bytes) of objects that were created by the function and its child functions.

The exclusive memory values indicate the number and size of objects that were created by the function and not by its child functions.

The inclusive and exclusive memory values of a module are the sum of the inclusive and exclusive memory values of the functions in the module.

Column Description
Inclusive Allocations - For a function, the total number of objects that were created by the function. This number includes objects that were created by functions that were called by the function.
- For a module, the number of objects in a profiling run that were allocated when at least one function from the module was executing. This number includes objects that were allocated in functions that were generated by calls from module functions.
Inclusive Allocations % The percentage of all objects that were allocated in the profiling run that were inclusive allocations of the module or function.
Exclusive Allocations - For a function, the number of objects that were created when the function was executing code in the function body (that is, when the function was at the top of the call stack). This number does not include objects that were created in functions that were called by the function.
- For a module, the sum of the exclusive allocations of the functions in the module.
Exclusive Allocations % The percentage of all objects that were allocated in the profiling run that were exclusive allocations of the module or function.
Exclusive Bytes - For a function, the total number of bytes of memory that were allocated when the function was executing the code in the function body (that is, when the function was at the top of the call stack). This number does not include bytes that were allocated in functions that were called by the function.
- For a module, the sum of the exclusive bytes that were allocated by the functions in the module.
Exclusive Bytes % The percentage of all bytes that were allocated in the profiling run that were exclusive bytes of the module, function, line, or instruction.
Inclusive Bytes - For a function, the number of bytes that were allocated by the function. This number includes bytes that were allocated in functions that were called by the function.
- For a module, the number of bytes that were allocated in a profiling run that were allocated when at least one function from the module was executing. This number includes objects that were created in all functions that were called by the module functions.
Inclusive Bytes % The percentage of all bytes that were allocated in the profiling run that were inclusive bytes of the module or function.

Elapsed inclusive values

Elapsed inclusive values indicate the time that a function was on the call stack. The time includes time that was spent in child functions and in calls to the operating system, such as context switches and input/output operations.

Column Description
Elapsed Inclusive Time - For a function, the time that was spent in the function. This includes time that was spent in child functions and in calls to the operating system, such as context switches and input/output operations.
- For a module, the period of time in which at least one function in the module was on the call stack.
Elapsed Inclusive Time % The percentage of the total elapsed inclusive time of the profiling run that was spent in the total elapsed inclusive time of this module or function.
Avg Elapsed Inclusive Time - For a function, the average elapsed inclusive time of a call to this function.
- For a module, the average elapsed inclusive time of all calls to functions in the module.
Max Elapsed Inclusive Time - For a function, the maximum elapsed inclusive time of a call to this function.
- For a module, the maximum elapsed inclusive time of all calls to functions in the module.
Min Elapsed Inclusive Time - For a function, the minimum elapsed inclusive time of a call to this module or function.
- For a module, the minimum elapsed inclusive time of all calls to functions in the module.

Elapsed exclusive values

Elapsed exclusive values indicate the time that a function was directly executing at the top of the call stack. The time includes time in calls to the operating system, such as context switches and input/output operations, but does not include time that was spent in child functions.

Column Description
Elapsed Exclusive Time - For a function, the time that was spent in the module or function. This includes calls to the operating system, such as context switches and input/output operations, but excludes time that was spent in child functions.
- For a module, the sum of elapsed exclusive times of the functions in the module.
Elapsed Exclusive Time % The percentage of the total elapsed exclusive time of the profiling run that was spent in the total elapsed exclusive time of this module or function.
Avg Elapsed Exclusive Time - For a function, the average elapsed exclusive time of a call to this function.
- For a module, the average elapsed exclusive time of all calls to functions in the module.
Max Elapsed Exclusive Time - For a function, the maximum elapsed exclusive time of a call to this function.
- For a module, the maximum elapsed exclusive time of all calls to functions in the module.
Min Elapsed Exclusive Time - For a function, the minimum elapsed exclusive time of a call to this module or function.
- For a module, the minimum elapsed exclusive time of all calls to functions in the module.

Application inclusive values

Application inclusive values indicate the time that a function was on the call stack. The time does not include time that was spent in calls to the operating system, such as context switches and input/output operations, but it does include time that was spent in child functions.

Column Description
Application Inclusive Time - For a function, the time that was spent in calls to the function. This includes time that was spent in child functions, but excludes calls to the operating system, such as context switches and input/output operations.
- For a module, the period of time in which at least one function in the module was on the call stack, excluding time that was spent in calls to the operating system.
Application Inclusive Time % The percentage of the total elapsed inclusive time of the profiling run that was spent in the application inclusive time of this module or function.
Avg Application Inclusive Time - For a function, the average application inclusive time of a call to this function.
- For a module, the average application inclusive time of all calls to functions in the module.
Max Application Inclusive Time - For a function, the maximum application inclusive time of a call to this function.
- For a module, the maximum application inclusive time of all calls to functions in the module.
Min Application Inclusive Time - For a function, the minimum application inclusive time of a call to this module or function.
- For a module, the minimum application inclusive time of all calls to functions in the module.

Application exclusive values

Application exclusive values indicate the time that was spent in the module or function, excluding time that was spent in child functions. The indicated time also excludes calls to the operating system, such as context switches and input/output operations.

Column Description
Application Exclusive Time - For a function, the total application exclusive time of calls to this function.
- For a module, the total application exclusive time of all calls to functions in the module.
Application Exclusive Time % The percentage of the total elapsed exclusive time of the profiling run that was spent in the application exclusive time of this module or function.
Avg Application Exclusive Time - For a function, the average application exclusive time of a call to this function.
- For a module, the average application exclusive time of all calls to functions in the module.
Max Application Exclusive Time - For a function, the maximum application exclusive time of a call to this function.
- For a module, the maximum application exclusive time of all calls to functions in the module.
Min Application Exclusive Time - For a function, the minimum application exclusive time of a call to this module or function.
- For a module, the minimum application exclusive time of all calls to functions in the module.

See also