Caller/Callee View - Profiler .NET Memory Instrumentation Data

The Caller/Callee view of .NET memory profiling data that was collected with the instrumentation method displays allocation and timing data for a selected function and the parent and child functions of that selected function. 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.

General

Column

Description

Function Name

The name of the function.

Function Address

The address of the function.

Function Line Number

The line number of the start of this function in the source file.

Number of Calls

The total number of calls made to this function.

Source File

The source file that contains the definition for 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 of the profiling run.

Process Name

The name assigned to the process.

Time Exclusive Probe Overhead

The time overhead for this function due to instrumentation. Probe overhead has been subtracted from all exclusive times.

Time Inclusive Probe Overhead

The time overhead for this function and its child functions due to instrumentation. Probe overhead has been subtracted from all inclusive times.

Type

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

Root Function Name

The name of the current function. Only in VSPerfReport command-line reports.

.NET Memory Allocation Values

Column

Description

Exclusive Allocations

  • For the current 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. The number does not include objects created in functions that were called by this function.

  • For a caller function, the number of the exclusive allocations of the current function that were generated by calls from this caller function.

  • For a callee function, the number of objects created by instances of this function that were called by the current function. This number does not include objects created by functions that were called by the callee function.

Exclusive Allocations %

The percentage of all objects created in the profiling run that were exclusive allocations of this function.

Inclusive Allocations

  • For the current function, the number of objects that were allocated by the function in the profiling run. The number includes objects created in the callee functions that were called by the function.

  • For a caller function, the number of the inclusive allocations of the current function that were generated by calls from this caller function.

  • For a callee function, the number of objects allocated by the instances of this function that were generated by calls from the current function. The number includes allocations made by functions that were called by this callee function.

Inclusive Allocations %

The percentage of all objects created 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. The number does not include memory that was allocated in callee functions that were called by the function.

  • For a caller function, the number of the exclusive bytes of the current function that were generated from calls by this caller function.

  • For a callee function, the number of bytes allocated by the instances of this function that were generated by calls from the current function. The number does not include bytes allocated by functions that were called by the callee function.

Exclusive Bytes %

The percentage of all bytes of memory allocated in the profiling run that were exclusive allocations of this function.

Inclusive Bytes

  • For the current function, the number of bytes in memory that were allocated by the function in the profiling run. The number include memorys that was allocated in callee functions that were called by the function.

  • For a caller function, the number of the inclusive bytes of the instances of the current function that were generated by calls from this caller function.

  • For a callee function, the number of bytes allocated by the instances of this function that were generated by calls from the current function. The number includes bytes allocated by functions that were called by this callee function.

Inclusive Bytes %

The percentage of all bytes of memory allocated in the profiling run that were inclusive allocations of this 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 the current function, the time that was spent in the function. The value 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 caller function, the amount of the elapsed inclusive time of the current function that was generated by calls from this caller function.

  • For a callee function, the time that was spent in this function that was generated by calls from the current function. The value includes time that was spent in child functions and in calls to the operating system, such as context switches and input/output operations.

Elapsed Inclusive Time %

The percentage of the total elapsed inclusive time of the profiling run that was spent in the elapsed inclusive time of this function in this context.

Avg Elapsed Inclusive Time

The average elapsed inclusive time of a call to this function in this context.

Max Elapsed Inclusive Time

The maximum elapsed inclusive time of a call to this function in this context.

Min Elapsed Inclusive Time

The minimum elapsed inclusive time of a call to this function in this context.

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 it does not include time that was spent in child functions.

Column

Description

Elapsed Exclusive Time

  • For the current function, the time that was spent in the execution of the body of the function. The value excludes time that was spent in child functions, but includes calls to the operating system, such as context switches and input/output operations.

  • For a caller function, the amount of the elapsed exclusive time of the current function that was generated by calls from this caller function.

  • For a callee function, the time that was spent in this function that was generated by calls from the current function. The value excludes time that was spent in child functions of the callee function, but includes calls to the operating system, such as context switches and input/output operations.

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 function in this context.

Avg Elapsed Exclusive Time

The average elapsed exclusive time of a call to this function in this context.

Max Elapsed Exclusive Time

The maximum elapsed exclusive time of a call to this function in this context.

Min Elapsed Exclusive Time

The minimum elapsed exclusive time of a call to this function in this context.

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 the current function, the time that was spent in the function and its child functions. The value excludes time that was spent in calls to the operating system, such as context switches and input/output operations.

  • For a caller function, the amount of the application inclusive time of the current function that was generated by calls from this caller function.

  • For a callee function, the time that was spent in this function and its child functions that was generated by calls from the current function. The value does not include time that was spent in calls to the operating system, such as context switches and input/output operations.

Application Inclusive Time %

The percentage of the total elapsed inclusive time of the profiling run that was spent in the total application inclusive time of this function in this context.

Avg Application Inclusive Time

The average application inclusive time of a call to this function in this context.

Max Application Inclusive Time

The maximum application inclusive time of a call to this function in this context.

Min Application Inclusive Time

The minimum application inclusive time of a call to this function in this context.

Application Exclusive Values

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

Column

Description

Application Exclusive Time

  • For the current function, the time that was spent in the execution of the body of the function. The value does not include time that was spent in child functions, nor does it include calls to the operating system, such as context switches and input/output operations.

  • For a caller function, the amount of the application exclusive time of the current function that was generated by calls from this caller function.

  • For a callee function, the time that was spent in this function that was generated by calls from the current function. The value does not include time that was spent in child functions of the callee function, nor does it include calls to the operating system, such as context switches and input/output operations.

Application Exclusive Time %

The percentage of the total elapsed exclusive time of the profiling run that was spent in the total application exclusive time of this function in this context.

Avg Application Exclusive Time

The average application exclusive time of a call to this function in this context.

Max Application Exclusive Time

The maximum application exclusive time of a call to this function in this context.

Min Application Exclusive Time

The minimum application exclusive time of a call to this function in this context.

See Also

Tasks

How to: Customize Profiling Tools Report Views

Reference

Caller/Callee View - Profiler .NET Memory Sampling Data

Caller/Callee View - Profiler Instrumentation Data

Caller / Callee View - Profiler Sampling Data