User Guide

Intel® VTune™ Profiler User Guide

ID 766319
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Analysis Target Options

Manage the analysis of your target using target specific configuration options provided in the Configure Analysis window.

To access target configuration options:

  1. Open the Configure Analysis window.

  2. Choose a target system on the WHERE pane.

  3. Choose a target type on the WHAT pane and configure the options below.

NOTE:

To create a command line configuration for a target not accessible from the current host, choose the Arbitrary Host target system on the WHERE pane. Make sure to choose an operating system your target will be running with: Windows or GNU/Linux and a hardware platform.

Target options vary with the selected target system and target type (Launch Application, Launch Android Package, Attach to Process, or Profile System).

Basic Options

Use This

To Do This

Inherit settings from Visual Studio* project check box (supported for Visual Studio IDE only)

Enable/disable using the project currently opened in Visual Studio IDE and its current configuration settings as a target configuration. Checking this check box makes all other target configuration settings unavailable for editing.

Inherit system environment variables check box

Inherit and merge system and user-defined environment variables. Otherwise, only the user-defined variables are set.

Launch Application options:

Application field

Specify a full path to the application to analyze, which can be a binary file or script.

Application parameters field

Specify input parameters for your application.

Use application directory as working directory check box

Automatically match your working and application directory (enabled by default). An application directory is the directory where your application resides. For example, for a Linux application /home/foo/bar the application directory is /home/foo. Application and working directories may be different if, for example, an application file is located in one directory but should be launched from a different directory (working directory).

Working directory field

Specify a directory to use for launching your analysis target. By default, this directory coincides with the application directory.

Attach to Process options:

Process name field

Identify the executable to analyze by its name.

PID field

Identify the executable to analyze by its process ID (PID).

Click the Select button to see a list of currently available processes to attach to. As soon as you select a process of interest, the VTune Profiler automatically populates the Process name fields with the data for the selected process.

Launch Android Package options:

Package name field

Specify the name of the Android* package (*.apk) to analyze.

To see Android applications and corresponding packages (*.apk) currently installed on the device targeted for analysis, click the Select button. You may choose to view only debuggable APKs by selecting the corresponding checkbox.

NOTE:

For performance analysis on non-rooted devices, compile your Android application setting the debuggable attribute to true (android:debuggable="true") but make sure to set APP_OPTIM to release in your Application.mk to enable compilation with optimization.

Arbitrary Host options:

Use MPI launcher check box

Enable the check box to generate a command line configuration for MPI analysis. Configure the following MPI analysis options:

  • Select MPI launcher: Select an MPI launcher that should be used for your analysis. You can either enable the Intel MPI launcher option (default) or select Other and specify a launcher of your choice.

  • Number of ranks: Specify the number of ranks used for your application.

  • Profile ranks: Use All to profile all ranks, or choose Selective and specify particular ranks to profile, for example: 2-4,6-7,8.

  • Result location: Specify a relative or absolute path to the directory where the analysis result should be stored.

Advanced Options

Use the Advanced section to provide more details on your target configuration.

Use This

To Do This

User-defined environment variables field

Type or paste environment variables required for running your application.

Managed code profiling mode menu

Select a profiling mode for managed code. Managed mode attributes data to managed source and only collects managed portion. Native mode collects everything but does not attribute data to managed source. Mixed mode collects everything and attributes data to managed source where appropriate.

Automatically resume collection after (sec)

Specify the time that should elapse before the data collection is resumed. When this options is used, the collection starts in the paused mode automatically.

Automatically stop collection after (sec)

Set the duration of data collection in seconds starting from the target run. This is useful if you want to exclude some post-processing activities from the analysis results.

Analyze child processes check box

Collect data on processes launched by the target process. Use this option when profiling an application with the script.

Selecting this option enables the Per-process Configuration where you can specify child processes to analyze. For example, if your target application calls shell or makes processes, you can choose to exclude them from analysis and focus only on the processes you develop.

The Default process configuration represents how all processes should be analyzed. This line cannot be removed, but can be customized. Depending on your choice, you may include/exclude from the data collection specific processes (self value) and the child processes they spawn (children value).

This option is not applicable to hardware event-based analysis types.

Duration time estimate menu

NOTE:

This option is deprecated. Use the CPU sampling interval option on the HOW configuration pane instead.

Estimate the application duration time. This value affects the size of collected data. For long running targets, sampling interval is increased to reduce the result size. For hardware event-based sampling analysis types, the VTune Profiler uses this estimate to apply a multiplier to the configured sample after value.

Allow multiple runs check box

Enable multiple runs to achieve more precise results for hardware event-based collections. When disabled, the collector multiplexes events running a single collection, which lowers result precision.

Analyze system-wide check box

Enable analyzing all processes running on the system. When disabled, only the target process is analyzed.

This option is applicable to hardware event-based sampling analysis types only.

Limit collected data by section

If the amount of raw collected data is very large and takes long to process, use any of the following options to limit the collected data size:

  • Result size from collection start, MB: Set the maximum possible result size (in MB) to collect. VTune Profiler will start collecting data from the beginning of the target execution and suspend data collection when the specified limit for the result size is reached. For unlimited data size, specify 0.

  • Time from collection end, sec: Set the timer enabling the analysis only for the last seconds before the target run or collection is terminated. For example, if you specified 2 seconds as a time limit, the VTune Profiler starts the data collection from the very beginning but saves the collected data only for the last 2 seconds before you terminate the collection.

NOTE:

The size of data stored in the result directory may not exactly match the specified result size due to the following reasons:

  • The collected data may slightly exceed the limit since the VTune Profiler only checks the data size periodically.

  • During finalization, the VTune Profiler loads the raw data into a database with additional information about source and binary files.

CPU mask field

Specify CPU(s) to collect data on (for example: 2-8,10,12-14). This option is applicable to hardware event-based analysis types only.

Custom collector field

Provide a command line for launching an external collection tool, if any. You can later import the custom collection data (time intervals and counters) in a CSV format to a VTune Profiler result.

Select finalization mode section

Finalization may take significant system resources. For a powerful target system, select Full mode to apply immediately after collection. Otherwise, shorten finalization with selecting the fast mode (default) or defer it to run on another system (compute checksums only).

Wrapper script field

Provide a script that is launched on the target system before starting the collection. On the host system, you can prepare a custom script that prepares the target environment and calls the VTune Profiler collector in this environment.

An example of the wrapper script:

#!/bin/bash

# Prefix script
echo "Target process PID: $VTUNE_TARGET_PID"

# Run VTune collector
"$@"

# Postfix script
ls -la $VTUNE_RESULT_DIR

You can use the script to perform any actions available through the CLI of your target operating system, and use "$@" or "$*" to pass all arguments into the script and start VTune Profiler collection in this environment.

The following environment variables are available from the script:

VTUNE_TARGET_PID
        VTUNE_TARGER_PROC_NAME
        VTUNE_RESULT_DIR
        VTUNE_TEMP_DIR
        VTUNE_TARGET_PACKAGE_DIR
        VTUNE_DATA_DIR
        VTUNE_USER_DATA_DIR

NOTE:
  • VTune Profiler preserves the content of the script. The script is preserved within the project and is run for every analysis within that project. To apply any changes to the script, attach it again using the same Wrapper script field.

  • For Linux targets, make sure that the script file is saved with LF line endings.

Result location options

Select where you want to store your result file. By default, the result is stored in the project directory.

Trace MPI check box (Linux* targets only)

Configure collectors to trace MPI code and determine MPI rank IDs in case of a non-Intel MPI library implementation.

Analyze KVM guest OS check box (Linux targets only)

Enable KVM guest system profiling. For proper kernel symbol resolution, make sure to specify:

  • a local path to the /proc/kallsyms file copied from the guest OS

  • a local path to the /proc/modules file copied from the guest OS

Android Device options:

Analyze unplugged device check box

Enable collection on an unplugged device to exclude ADB connection and power supply impact on the results. When this option is used, you configure and launch an analysis from the host but data collection starts after disconnecting the device from the USB cable or a network. Collection results are automatically transferred to the host as soon as you plug in the device back.

Arbitrary Host options:

Select a system for result finalization options

The result can be finalized on the same target system where the analysis is run (default). In this case make sure your target system is powerful enough for finalization. If you choose to finalize the result on another system, VTune Profiler will only compute module checksums to avoid an ambiguity in resolving binaries on a different system.

Support Limitations

  • VTune Profiler provides limited support for profiling Windows* services. For details, see Profiling Windows Services article on the web.

  • System-wide profiling is not supported for the user-mode sampling and tracing collection.

  • For driverless event-based sampling data collection, VTune Profiler supports local and remote Launch Application, Attach to Process and Profile System target types but their support fully depends on the Linux Perf profiling credentials specified in the /proc/sys/kernel/perf_event_paranoid file and managed by the administrator of your system using root credentials. For more information, see the perf_event related configuration files topic at http://man7.org/linux/man-pages/man2/perf_event_open.2.html. By default, only user processes profiling at the both user and kernel spaces is permitted, so you need granting wider profiling credentials via the perf_event_paranoid file to employ the Profile System target type.

What's Next

In the HOW pane, select an analysis type applicable to the specified target type and click Start to run the analysis.

NOTE:

You can launch an analysis only for targets accessible from the current host. For an arbitrary target, you can only generate a command line configuration, save it to the buffer and later launch it on the intended host.