User Guide

Intel® VTune™ Profiler User Guide

ID 766319
Date 11/07/2023
Public
Document Table of Contents

Analyze Latency Issues

Run the System Overview analysis in the Hardware Tracing mode to identify what caused latency issues in your application execution.

The System Overview viewpoint for Hardware Tracing collection provides the following data:

  • system-wide statistics over time with the microsecond granularity

  • module boundaries on the timeline

  • function names for module entry points

  • Active/Idle thread time

  • interrupts on the timeline

  • user-mode and kernel-mode execution times for modules and module entry points

You can use this data to:

Explore the Impact of Interrupts on the Application Elapsed Time

Open the Platform window to explore interrupts on the timeline view. The Interrupt Count chart provides a quick overview of the number of interrupts triggered during execution.

Locate the interrupt-intensive regions and zoom in. Hover over a module name to see the Module Entry Pont that discovers a cause for an interrupt. For example, a page fault:

Or a timer interrupt:

Analyze Thread Activity at the Microsecond Level

Hardware Tracing analysis enables you to analyze data at a high granularity level. This could be particularly useful, for example, to debug a network workload with a one-second duration between requests:

Zoom in to a single request. For example, the ping application measures and prints 250µs as reply time:

You can go deeper and analyze execution of each module:

Scheduler is becoming active after idle.

recvmsg is used to sleep for 1 second.

A new message is sent.

Iptable driver is active.

Network driver takes just 332 nanoseconds.

do_idle is executed.

Explore Kernel Activity

The OS Scheduling Impact and OS Kernel Activity charts highlight regions where the system has performed multiple context switches and kernel-mode entries.

Locate a region with multiple context switches or high kernel activity and zoom in to investigate. For example, in this case the operating system has rescheduled a thread multiple times due to various reasons, including preemption and synchronization. Hover over the markers to get additional details and to determine the root cause of the issue.

In the grid pane of the Platform window, use the Process / Module / Module Entry Point grouping to get a detailed view of user-mode and kernel activity. Expand a module and study the module entry points to determine the amount of time spent by the module in the kernel mode.

You can also examine the number and frequency of Kernel-mode Entries caused by a specific module and function to determine the performance impact of kernel activity.

Hardware Tracing collection is more precise than event-based sampling and provides all the modules executed with their precise time.