User Guide

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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804