Supported Use Cases
Intel® VTune™ Profiler is designed to be flexible and useful in many different scenarios and environments. Here are some examples of use cases where VTune Profiler has a solution for your performance analysis needs.
Natively Supported Platforms
You can install VTune Profiler on these operating systems:
NOTE:On macOS hosts, analysis of workloads running on the host is not supported. On macOS, VTune Profiler acts as a GUI terminal for profiling remote Windows and Linux targets or reviewing results previously collected on other systems.
VTune Profiler as a Server
VTune Profiler Server is a usage model of VTune Profiler. VTune Profiler can be launched as a web service and accessed remotely via a web browser, which is convenient for remote development or testing. VTune Profiler Server can also be deployed for a team of users to simplify onboarding and enable collaboration and results sharing.
- Can be launched directly on the target system or a remote development machine and doesn’t require any GUI context.
- Fewer prerequisites and system requirements as compared to the VTune Profiler desktop application.
- Enables sharing of profiling results by providing a URL.
- Can be deployed into your web hosting infrastructure or as a standalone service; supports integration with identity providers via SAML SSO.
- No need to install VTune Profiler on every end-user machine—users access the server through their browser with a full GUI experience.
- Can be enabled for a pool of profiling targets via shared data collection agents.
In a Cloud Environment
VTune Profiler can be installed on public cloud instances, enabling user-mode analyses (Hotspots and Threading) in virtualized environments, and hardware event-based analysis types on bare-metal instances.
The following Cloud Service Providers (CSPs) are supported:
- Amazon Web Service* (AWS)
- Google Cloud Platform*
- Microsoft Azure*
Learn more about cloud targets or see the Profiling Applications in Amazon Web Services* (AWS) EC2 Instances Cookbook recipe for an example of AWS configuration.
VTune Profiler can be used in popular containerized environments.
For example, when using Docker*, it can:
- run inside a container
- analyze containerized workloads
- analyze a workload within same container
- analyze non-containerized workloads while running inside container
- analyze multiple containers simultaneously
See the Profiling Docker* Containers Cookbook recipe for more information.
In a Virtual Machine
You can install and use VTune Profiler in a virtual machine. In this case, install VTune Profiler using your preferred method, as you would install normally on a bare-metal machine.
By nature of virtualization, there are some limitations related to access to hardware performance counters. Review the Targets in Virtualized Environments topic for more information.
Additional configuration steps are required for each supported hypervisor to ensure maximum compatibility. More information for specific hypervisors:
CI Pipeline Integration
You can integrate VTune Profiler into your Continuous Integration pipeline to automatically collect performance data under your desired conditions, which can be especially useful for catching and investigating performance regressions and tracking workload performance over time.
The flexible command line interface VTune Profiler enables you to automatically run any analysis type—or combination of analysis types—on your workload.
For an example of GitLab* CI integration, see the Enabling Performance Profiling in GitLab* CI Cookbook recipe.
Profiling Through Target Packages
A target package is a minimal distribution of VTune Profiler that is used to enable profiling capabilities on specific remote targets. With target packages, you do not install VTune Profiler on the target system. Instead, you copy the target package to the target system and apply some configurations to enable remote profiling from a natively supported system. Additionally, in the case of FreeBSD* OS, you can use VTune Profiler directly on the FreeBSD system through the command line interface.
More information on target packages for operating systems:
Did you find the information on this page useful?