Caller/Callee View - .NET Memory Sampling Data

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Caller-Callee View - .NET Memory Sampling Data.

The Caller/Callee view displays .NET memory profiling data for a selected function and its parent and child functions. The Caller/Callee view contains three grids.

Current function is displayed in the middle grid, and it shows memory profiling information about the selected function. The values include all sampled calls to the function.

Functions that called the current function is displayed in the top grid, and it shows the amount of the value of the selected (current) function that was generated by calls from the caller (parent) function.

Functions that were called by the current function is displayed in the bottom grid, and it shows memory profiling data for the callee (child) functions of the selected function when the child function was called by the current function.

Double-click a caller or callee function row to make that row the current function.

ColumnDescription
Process IDThe process ID (PID) of the profiling run.
Process NameThe name of the process.
Module NameThe name of the module that contains the function.
Module PathThe path of the module that contains the function.
Source FileThe source file that contains the definition for this function.
Function NameThe fully qualified name of the function.
Function Line NumberThe line number of the start of this function in the source file.
Function AddressThe address of the function.
TypeThe context of the function:

 0 - the current function

 1 - a function that calls the current function

 2 - a function that is called by the current function

Only in VSPerfReport command-line reports.
LevelThe depth of the function in the call tree. Only in VSPerfReport command-line reports.
Inclusive Allocations- For the current function, the number of objects that were allocated by the function in the profiling run. This number includes objects that were created in callee functions.
- For a caller function, the number of the inclusive allocations of the current function that were generated by calls from this function.
- For a callee function, the number of objects that were allocated by the instances of this function that were called by the current function. The number includes allocations that were made by functions that were called by the callee function.
Inclusive Allocations %The percentage of all objects that were created in the profiling run that were inclusive allocations of this function.
Exclusive Allocations- For the current function, the number of objects that were created when the function was executing code of the function body (that is, when the function was at the top of the call stack). The number does not include objects that were created in functions that were called by the function.
- For a caller function, the number of the exclusive allocations of the current function that were generated by calls from this function.
- For a callee function, the number of objects that were created by the instances of this function that were called by the current function. The number does not include objects that were created by functions that were called by the callee function.
Exclusive Allocations %The percentage of all objects that were created in the profiling run that were inclusive allocations of this function.
Inclusive Bytes- For the current function, the number of bytes of memory that were allocated by the function in the profiling run. The number includes memory that was allocated in functions that were called by this function.
- For a caller function, the number of the inclusive bytes of the current function that were generated from calls by the caller function.
- For a callee function, the number of bytes that were allocated by the instances of this function that were generated by calls from the current function. The number includes bytes that were allocated by functions that were called by the callee function.
Inclusive Bytes %The percentage of all bytes of memory that were allocated in the profiling run that were inclusive allocations of this function.
Exclusive Bytes- For the current function, the number of bytes of memory that were allocated by the function in the profiling run. This number does not include memory that was allocated by functions that were called by the current function.
- For a caller function, the number of the exclusive bytes of the current function that were generated by calls from the caller function.
- For a callee function, the number of bytes that were allocated by instances of the function that were generated by calls from the current function. The number does not include bytes that were allocated by functions that were called by the callee function.
Exclusive Bytes %The percentage of all bytes of memory that were allocated in the profiling run that were exclusive allocations of this function.

How to: Customize Report View Columns
Caller/Callee View - NET Memory Instrumentation Data
Caller / Callee View - Sampling Data
Caller/Callee View - Instrumentation Data

Show: