Intel® VTune™ Amplifier

Pane: Call Stack

The Call Stack pane is available in the viewpoints provided for the results of the user-mode sampling and tracing collection, such as Basic Hotspots, Concurrency, and Locks and Waits, and for the results of the hardware event-based sampling with the stack collection enabled.

Position in the Visual Studio* window

Use the Call Stack pane to identify the call sequences (stacks) that called the program unit currently selected in the grid. Call stacks from different threads are aggregated together, showing all the call stacks for a function, without providing information on what threads were calling. See the table below to understand how to use the data provided in the Call Stack pane.

Use This

To Do This

Stack metric drop-down menu

Select a performance metric to explore the distribution of this metric over stacks of the selected object.

Navigation bar

Click the next/previous arrows to view stacks for the selected program unit(s).

When multiple stacks lead to the selected program unit, the Call Stack pane shows the stack that contributed most to the metric value, the hottest path, as the first stack. To see other stacks, click the navigation arrows.

Note

If several stacks go to the same functions in different code lines, the bottom-up tree shown in the Bottom-up pane aggregates these stacks in one line. But the Call Stack pane shows each as a separate stack. For more details, see the Pane: Bottom-up topic.

Contribution bar

Analyze the indicator of the contribution of the currently visible stack to the overall metric data for the selected program unit(s). If you select a single stack in the result window, the Contribution bar shows 100%. If more than one program unit is selected, all the related stacks are added to the calculation.

If you change the Data of Interest column, the overall contribution value and the contribution of the currently selected stack update to show the relevant data for the new Data of Interest column.

In the example above, the program unit selected in the Bottom-up window had several Clockticks stacks leading to it with the total count of 12 245 859 210 events samples. The currently visible stack is responsible for 92.1% (or 11 280 010 194) of the overall 12 245 859 210 events samples.

Stack for a program unit selected in the grid or in the Timeline pane

Analyze the call sequence for the selected function according to the stack metric selected in the drop-down menu. Each row in the stack represents a function (with an RVA and a line number of the call site, if available) that called the function in the row above it. Functions in grey font color represent system functions. When the call stack mode on the filter toolbar is set to Only user functions, the system functions are shown at the bottom of the stack. When set to User/system functions, the system functions are shown in the correct location, according to the call sequence.

Double-click a function in the stack to open the source exactly where this function was called.

Note

If you see [Unknown frame(s)] identifiers in the stack, it means that the VTune Amplifier could not locate symbol files for system or your application modules. See the Resolving Unknown Frames topic for more details.

Context menu

Manage the call stack representation in the Call Stack pane (applicable to all stacks). Right-click and select an option. For example, you may select the Collapse Recursion option to collapse all recursive functions into one entry:

VTune Amplifier updates the view and marks the entry with collapsed recursion as follows:

Note

When you compare two analysis results, the Call Stack pane does not show any call stacks.

See Also