Skip to content

Commit 694675a

Browse files
Merge pull request #1304 from PrzemekWirkus/docs_fix_windowsperf_installation_guide
Docs fix windowsperf installation guide
2 parents d9800d9 + d5e0c0d commit 694675a

File tree

1 file changed

+53
-57
lines changed

1 file changed

+53
-57
lines changed

content/install-guides/wperf.md

Lines changed: 53 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,15 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti
3030
layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles
3131
---
3232

33-
WindowsPerf is an open-source command line tool for performance analysis on Windows on Arm devices.
33+
WindowsPerf is (Linux perf inspired) Windows on Arm performance profiling tool. Profiling is based on ARM64 PMU and its hardware counters. WindowsPerf supports the counting model for obtaining aggregate counts of occurrences of special events, and sampling model for determining the frequencies of event occurrences produced by program locations at the function, basic block, and/or instruction levels. WindowsPerf is an open-source project hosted on [GitHub](https://github.com/arm-developer-tools/windowsperf).
3434

35-
WindowsPerf consists of a kernel-mode driver and a user-space command-line tool, or [VS Code Extension](#vscode). The command-line tool is modeled after the Linux `perf` command.
35+
WindowsPerf consists of a kernel-mode driver and a user-space command-line tool. The WindowsPerf command line tool can be seamlessly integrated with both the [WindowsPerf Visual Studio Extension](#vs2022) and the [WindowsPerf VS Code Extension](#vscode). These extensions, which can be downloaded from the Visual Studio Marketplace, enhance the functionality of WindowsPerf by providing a more user-friendly interface and additional features for performance analysis and debugging. This integration allows developers to efficiently analyze and optimize their applications directly within their preferred development environment.
3636

37-
WindowsPerf includes a **counting model** for counting events such as cycles, instructions, and cache events and a **sampling model** to understand how frequently events occur.
3837

3938
{{% notice Virtual Machines%}}
4039
WindowsPerf cannot be used on virtual machines, such as cloud instances.
4140
{{% /notice %}}
4241

43-
You can interact with the
44-
4542
## Visual Studio and the Windows Driver Kit (WDK)
4643

4744
WindowsPerf relies on `dll` files installed with Visual Studio (Community Edition or higher) and (optionally) installers from the Windows Driver Kit extension.
@@ -52,16 +49,17 @@ See also the [Visual Studio for Windows on Arm install guide](/install-guides/vs
5249

5350
## Download WindowsPerf
5451

55-
The latest release package `windowsperf-bin-<version>.zip` can be downloaded from the Linaro GitLab repository:
52+
The latest release package `windowsperf-bin-<version>.zip` can be downloaded from the Arm GitHub repository:
5653
```url
57-
https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/releases
54+
https://github.com/arm-developer-tools/windowsperf/releases
5855
```
56+
5957
To download directly from command prompt, use:
6058

6159
```console
6260
mkdir windowsperf-bin-3.8.0
6361
cd windowsperf-bin-3.8.0
64-
curl https://gitlab.com/api/v4/projects/40381146/packages/generic/windowsperf/3.8.0/windowsperf-bin-3.8.0.zip --output windowsperf-bin-3.8.0.zip
62+
curl -L -O https://github.com/arm-developer-tools/windowsperf/releases/download/3.8.0/windowsperf-bin-3.8.0.zip
6563
```
6664

6765
Unzip the package:
@@ -70,26 +68,11 @@ Unzip the package:
7068
tar -xmf windowsperf-bin-3.8.0.zip
7169
```
7270

73-
## Install VS Code Extension (optional) {#vscode}
74-
75-
In addition to the command-line tools, `WindowsPerf` is available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.windowsperf).
76-
77-
Install by opening the `Extensions` view (`Ctrl`+`Shift`+`X`) and searching for `WindowsPerf`. Click `Install`.
78-
79-
Open `Settings` (`Ctrl`+`,`) > `Extensions` > `WindowsPerf`, and specify the path to the `wperf` executable.
80-
81-
{{% notice Non-Windows on Arm host%}}
82-
You can only generate reports from a Windows on Arm device.
83-
84-
If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices.
85-
86-
You do not need to install `wperf` on non-Windows on Arm devices.
87-
{{% /notice %}}
88-
89-
9071
## Install wperf driver
9172

92-
You can install the kernel driver using either the Visual Studio [devcon](#devcon_install) utility or the supplied [installer](#devgen_install).
73+
You can install the kernel driver using supplied [wperf-devgen](#devgen_install) installer.
74+
75+
The [wperf-devgen](https://github.com/arm-developer-tools/windowsperf/blob/main/wperf-devgen/README.md) tool has been designated as the preferred installer and uninstaller for the WindowsPerf Kernel Driver in the latest release. This tool offers a simple process for managing the installation and removal of the driver.
9376

9477
{{% notice Note%}}
9578
You must install the driver as `Administrator`.
@@ -102,22 +85,6 @@ Navigate to the `windowsperf-bin-<version>` directory.
10285
cd windowsperf-bin-3.8.0
10386
```
10487

105-
### Install with devcon {#devcon_install}
106-
107-
Navigate into the `wperf-driver` folder, and use `devcon` to install the driver:
108-
109-
```command
110-
cd wperf-driver
111-
devcon install wperf-driver.inf Root\WPERFDRIVER
112-
```
113-
You will see output similar to:
114-
115-
```output
116-
Device node created. Install is complete when drivers are installed...
117-
Updating drivers for Root\WPERFDRIVER from <path>\wperf-driver.inf.
118-
Drivers installed successfully.
119-
```
120-
12188
### Install with wperf-devgen {#devgen_install}
12289

12390
Navigate to the `wperf-driver` folder and run the installer:
@@ -158,25 +125,12 @@ You should see output similar to:
158125

159126
## Uninstall wperf driver
160127

161-
You can uninstall (aka "remove") the kernel driver using either the Visual Studio [devcon](#devcon_uninstall) utility or the supplied [installer](#devgen_uninstall).
128+
You can uninstall (aka "remove") the kernel driver using supplied [wperf-devgen](#devgen_uninstall) uninstaller.
162129

163130
{{% notice Note%}}
164131
You must uninstall the driver as `Administrator`.
165132
{{% /notice %}}
166133

167-
### Uninstall with devcon {#devcon_uninstall}
168-
169-
Below command removes the device from the device tree and deletes the device stack for the device. As a result of these actions, child devices are removed from the device tree and the drivers that support the device are unloaded. See [DevCon Remove](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-remove) article for more details.
170-
171-
```command
172-
devcon remove wperf-driver.inf Root\WPERFDRIVER
173-
```
174-
You should see output similar to:
175-
```output
176-
ROOT\SYSTEM\0001 : Removed
177-
1 device(s) were removed.
178-
```
179-
180134
### Uninstall with wperf-devgen {#devgen_uninstall}
181135

182136
```command
@@ -192,6 +146,48 @@ Trying to remove driver <path>\wperf-driver.inf.
192146
Driver removed successfully.
193147
```
194148

149+
## Install WindowsPerf Virtual Studio Extension (optional) {#vs2022}
150+
151+
WindowsPerf GUI (Graphical User Interface) project, a Visual Studio 2022 extension designed to bring a seamless UI experience to WindowsPerf, the command-line performance profiling tool for Windows on Arm. Extension is available on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.WindowsPerfGUI).
152+
153+
Install by opening `Extensions` menu, select `Manage Extensions` and click `Browse`. Type `WindowsPerf` to search for Arm WindowsPerf GUI extension. Click `Install`.
154+
155+
{{% notice How to set up wperf.exe path in the extension%}}
156+
In order to set the path to the `wperf.exe` executable, go to `Tools -> Options -> WindowsPerf -> WindowsPerf Path` and set the absolute path to the wperf.exe executable and then on the Validate button.
157+
{{% /notice %}}
158+
159+
Also, visit WindowsPerf GUI project website on [GitHub](https://github.com/arm-developer-tools/windowsperf-vs-extension) for more details and latest updates.
160+
161+
## Install WindowsPerf VS Code Extension (optional) {#vscode}
162+
163+
In addition to the command-line tools, `WindowsPerf` is available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.windowsperf).
164+
165+
Install by opening the `Extensions` view (`Ctrl`+`Shift`+`X`) and searching for `WindowsPerf`. Click `Install`.
166+
167+
Open `Settings` (`Ctrl`+`,`) > `Extensions` > `WindowsPerf`, and specify the path to the `wperf` executable.
168+
169+
{{% notice Non-Windows on Arm host%}}
170+
You can only generate reports from a Windows on Arm device.
171+
172+
If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices.
173+
174+
You do not need to install `wperf` on non-Windows on Arm devices.
175+
{{% /notice %}}
176+
195177
## Further reading
196178

197-
[Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm](https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf)
179+
### WindowsPerf
180+
181+
- [WindowsPerf Release 3.7.2 blog post](https://www.linaro.org/blog/expanding-profiling-capabilities-with-windowsperf-372-release)
182+
- [WindowsPerf Release 3.3.0 blog post](https://www.linaro.org/blog/windowsperf-release-3-3-0/)
183+
- [WindowsPerf Release 3.0.0 blog post](https://www.linaro.org/blog/windowsperf-release-3-0-0/)
184+
- [WindowsPerf Release 2.5.1 blog post](https://www.linaro.org/blog/windowsperf-release-2-5-1/)
185+
- [WindowsPerf release 2.4.0 introduces the first stable version of sampling model support](https://www.linaro.org/blog/windowsperf-release-2-4-0-introduces-the-first-stable-version-of-sampling-model-support/)
186+
- [Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm](https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf)
187+
188+
### WindowsPerf GUI
189+
190+
- [Introducing the WindowsPerf GUI: the Visual Studio 2022 extension](https://www.linaro.org/blog/introducing-the-windowsperf-gui-the-visual-studio-2022-extension/)
191+
- [Introducing 1.0.0-beta release of WindowsPerf Visual Studio extension](https://www.linaro.org/blog/introducing-1-0-0-beta-release-of-windowsperf-visual-studio-extension/)
192+
- [New Release: WindowsPerf Visual Studio Extension v1.0.0](https://www.linaro.org/blog/new-release-windowsperf-visual-studio-extension-v1000/)
193+
- [Launching WindowsPerf Visual Studio Extension v2.1.0](https://www.linaro.org/blog/launching--windowsperf-visual-studio-extension-v210/)

0 commit comments

Comments
 (0)