You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -29,37 +29,40 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles
29
29
30
30
## What is the Windows Performance Analyzer plugin?
31
31
32
-
The Windows Performance Analyzer plugin connects Windows Perf to the Windows Performance Analyzer (WPA).
32
+
The Windows Performance Analyzer (WPA) plugin connects [Windows Perf](/learning-paths/laptops-and-desktops/windowsperf/) to the Windows Performance Analyzer. Windows Perf is a lightweight performance profiling tool inspired by Linux Perf and designed for Windows on Arm.
33
33
34
-
[WindowsPerf](https://github.com/arm-developer-tools/windowsperf) is a lightweight performance profiling tool inspired by Linux Perf and designed for Windows on Arm.
34
+
Windows Performance Analyzer is a useful tool that supports developers with diagnostics and performance tuning. It generates data tables and graphs of Event Tracing for Windows (ETW) events, which are recorded in one of three ways:
35
+
- Windows Performance Recorder (WPR)
36
+
- Xperf
37
+
- or through an assessment that's run in the Assessment Platform.
38
+
39
+
WPA can open event trace log (ETL) files, which you can use for analysis.
35
40
36
-
Windows Performance Analyzer (WPA) is a tool that creates graphs and data tables of Event Tracing for Windows (ETW) events that are recorded by Windows Performance Recorder (WPR), Xperf, or an assessment that is run in the Assessment Platform. WPA opens event trace log (ETL) files for analysis.
37
-
38
-
The WPA plugin is built using the [Microsoft Performance Toolkit SDK](https://github.com/microsoft/microsoft-performance-toolkit-sdk), a collection of tools to create and extend performance analysis applications. The plugin parses json output from WidowsPerf so that it can be visualized in WPA.
41
+
The WPA plugin is built using the [Microsoft Performance Toolkit SDK](https://github.com/microsoft/microsoft-performance-toolkit-sdk), a collection of tools to create and extend performance analysis applications. The plugin parses JSON output from Windows Perf so that it can be visualized in WPA.
39
42
40
43
## What are some of the features of the WPA plugin?
41
44
42
-
The WindowsPerf GUI extension is composed of several key features, each designed to streamline the user experience:
45
+
The WindowsPerf GUI extension includes features, which are designed to streamline the user experience:
43
46
44
-
### What is the timeline view?
47
+
### Timeline view
45
48
46
-
The timeline view visualizes the `wperf stat` timeline data plotted by event group.
49
+
The timeline view visualizes the `wperf stat` timeline data plotted by event group:
47
50
48
51

49
52
50
-
### What is the telemetry view?
53
+
### Telemetry view
51
54
52
-
The telemetry view displays telemetry events grouped by unit.
55
+
The telemetry view displays telemetry events grouped by unit:
Before using the WPA plugin, make sure you have installed WPA.
61
+
Before installing the plugin, you need to make sure you have installed WPA:
59
62
60
-
### Windows Performance Analyzer
63
+
### Install WPA
61
64
62
-
WPA is included in the Windows Assessment and Deployment Kit (Windows ADK) that can be downloaded from [Microsoft](https://go.microsoft.com/fwlink/?linkid=2243390).
65
+
WPA is included in the Windows Assessment and Deployment Kit (Windows ADK), which you can download from [Microsoft](https://go.microsoft.com/fwlink/?linkid=2243390).
63
66
64
67
{{% notice Note %}}
65
68
The WPA plugin requires WPA version `11.0.7.2` or higher.
@@ -69,46 +72,46 @@ Run the downloaded `adksetup.exe` program.
69
72
70
73
Specify the default installation location and accept the license agreement.
71
74
72
-
Make sure that "Windows Performance Toolkit" is checked under "Select the features you want to install".
75
+
Make sure that **Windows Performance Toolkit** is checked under **Select the features you want to install**.
Now you're ready to install the plugin, which is a single `.dll` file.
81
84
82
-
Download a`.zip` file from the [GitHub releases page](https://github.com/arm-developer-tools/windowsperf-wpa-plugin/releases).
85
+
Download the`.zip` file from the [Windows Perf WPA plugin GitHub releases page](https://github.com/arm-developer-tools/windowsperf-wpa-plugin/releases) on GitHub.
83
86
84
-
To download the latest version from the command prompt:
87
+
Alternatively, you can download the latest version using command prompt:
Copy file name to clipboardExpand all lines: content/learning-paths/laptops-and-desktops/windowsperf/windowsperf.md
+29-5Lines changed: 29 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,19 +6,19 @@ weight: 2
6
6
7
7
# Overview
8
8
9
-
[WindowsPerf](https://gitlab.com/Linaro/WindowsPerf/windowsperf) is a (Linux [perf](https://perf.wiki.kernel.org) 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.
9
+
[WindowsPerf](https://github.com/arm-developer-tools/windowsperf) is a (Linux [perf](https://perf.wiki.kernel.org) 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.
10
10
11
11
Learn more in this [blog](https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf) announcing the first release.
12
12
13
13
## WindowsPerf architecture
14
14
15
15
`WindowsPerf` is composed of two main components:
16
-
-[wperf](https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/tree/main/wperf) a command line interface (CLI) sometimes referred as "user-space app" and
17
-
-[wperf-driver](https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/tree/main/wperf-driver) a (signed) Kernel-Mode Driver Framework (KMDF) driver.
16
+
-[wperf](https://github.com/arm-developer-tools/windowsperf/tree/main/wperf) a command line interface (CLI) sometimes referred as "user-space app" and
17
+
-[wperf-driver](https://github.com/arm-developer-tools/windowsperf/tree/main/wperf-driver) a (signed) Kernel-Mode Driver Framework (KMDF) driver.
18
18
19
19
## WindowsPerf releases
20
20
21
-
You can find all binary releases of `WindowsPerf`[here](https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/releases).
21
+
You can find all binary releases of `WindowsPerf`[here](https://github.com/arm-developer-tools/windowsperf/releases).
22
22
23
23
# Installation
24
24
@@ -106,6 +106,30 @@ wperf test
106
106
You can output `wperf test` command in JSON format. Use `--json` command line option to enable JSON output.
107
107
{{% /notice %}}
108
108
109
+
## Obtain plain text information about specified event, metric, or group of metrics.
110
+
111
+
Command line option `man` prints on screen information about specified event, metric, or group of metrics.
112
+
113
+
```command
114
+
wperf man l1d_cache_mpki
115
+
```
116
+
117
+
```output
118
+
CPU
119
+
neoverse-n1
120
+
NAME
121
+
l1d_cache_mpki - L1D Cache MPKI
122
+
EVENTS
123
+
inst_retired, l1d_cache_refill
124
+
DESCRIPTION
125
+
This metric measures the number of level 1 data cache accesses missed per
126
+
thousand instructions executed.
127
+
FORMULA
128
+
l1d_cache_refill / inst_retired * 1000
129
+
UNIT
130
+
MPKI
131
+
```
132
+
109
133
## Generate sample profile
110
134
111
135
Specify the `event` to profile with `-e`. Groups of events, known as `metrics` can be specified with `-m`.
@@ -139,4 +163,4 @@ You can output `wperf stat` command in JSON format. Use `--json` command line op
139
163
{{% /notice %}}
140
164
141
165
142
-
Example use cases are provided in the WindowsPerf [documentation](https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/blob/main/wperf/README.md#counting-model).
166
+
Example `wperf stat` command use cases are provided in the WindowsPerf [documentation](https://github.com/arm-developer-tools/windowsperf/tree/main/wperf#counting-model).
The cheat sheet for the `wperf` command line tool focuses specifically on counting and sampling commands. It includes `wperf stat` for counting occurrences of specific PMU events and `wperf sample` and `wperf record` for sampling PMU event. Each command is explained with practical example.
- Count events `inst_spec`, `vfp_spec`, `ase_spec` and `ld_spec` on core #0 for 3 seconds:
14
+
15
+
```command
16
+
wperf stat -e inst_spec,vfp_spec,ase_spec,ld_spec -c 0 --timeout 3
17
+
```
18
+
19
+
- Count metric `imix` (metric events will be grouped) and additional event `l1i_cache` on core #7 for 10.5 seconds:
20
+
21
+
```command
22
+
wperf stat -m imix -e l1i_cache -c 7 --timeout 10.5
23
+
```
24
+
25
+
- Count in timeline mode (output counting to CSV file) metric `imix` 3 times on core #1 with 2 second intervals (delays between counts). Each count will last 5 seconds:
Add `--annotate` or `--disassemble` to `wperf record` command line parameters to increase sampling "resolution".
50
+
{{% /notice %}}
51
+
52
+
## WindowsPerf cheat sheet (SPE Examples)
53
+
54
+
Use Arm SPE optional extension to sample on core no. 1 process `python_d.exe`. SPE filter `load_filter` / `ld` enables collection of load sampled operations, including atomic operations that return a value to a register.
55
+
56
+
Note: Double-dash operator `--` can be used with SPE as well to launch the process.
57
+
58
+
```command
59
+
wperf record -e arm_spe_0/ld=1/ -c 1 -– python_d.exe -c 10**10**100
60
+
```
61
+
62
+
Above command can be replaces by below two commands:
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/csp/google.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ layout: "learningpathall"
11
11
12
12
As with most cloud service providers, Google Cloud offers a pay-as-you-use [pricing policy](https://cloud.google.com/pricing), including a number of [free](https://cloud.google.com/free/docs/free-cloud-features) services.
13
13
14
-
This section is to help you get started with [Google Cloud Compute Engine](https://cloud.google.com/compute) compute services, using Arm-based Virtual Machines. Google Cloud offers two generations of Arm-based VMs, `C4A` is the latest generation based on [Google Axion](cloud.google.com/products/axion), Google’s first Arm-based server processor, built using the Armv9 Neoverse V2 CPU. The previous generation VMs are based on Ampere Altra processor and part of [Tau T2A](https://cloud.google.com/tau-vm) family of Virtual Machines.
14
+
This section is to help you get started with [Google Cloud Compute Engine](https://cloud.google.com/compute) compute services, using Arm-based Virtual Machines. Google Cloud offers two generations of Arm-based VMs, `C4A` is the latest generation based on [Google Axion](https://cloud.google.com/products/axion), Google’s first Arm-based server processor, built using the Armv9 Neoverse V2 CPU. The previous generation VMs are based on Ampere Altra processor and part of [Tau T2A](https://cloud.google.com/tau-vm) family of Virtual Machines.
15
15
16
16
Detailed instructions are available in the Google Cloud [documentation](https://cloud.google.com/compute/docs/instances).
17
17
@@ -23,7 +23,7 @@ If using an organization's account, you will likely need to consult with your in
23
23
24
24
## Browse for an appropriate instance
25
25
26
-
Google Cloud offers a wide range of instance types, covering all performance (and pricing) points. For an overview of the `C4A` instance types, see this [page](cloud.google.com/products/axion). Similarly, to know more about the `T2A` instance types, see the [General-purpose machine family](https://cloud.google.com/compute/docs/general-purpose-machines#t2a_machines) overview.
26
+
Google Cloud offers a wide range of instance types, covering all performance (and pricing) points. For an overview of the `C4A` instance types, see the [General-purpose machine family](https://cloud.google.com/compute/docs/general-purpose-machines#c4a_series). Similarly, to know more about the `T2A` instance types, see this [page](https://cloud.google.com/compute/docs/general-purpose-machines#t2a_machines).
27
27
28
28
Also note which [regions](https://cloud.google.com/compute/docs/regions-zones#available) these servers are available in.
29
29
@@ -49,15 +49,15 @@ Select an appropriate `region` and `zone` that support Arm-based servers.
49
49
50
50

51
51
52
-
To view the latest information on which available regions and zones support Arm-based servers, see the [Compute Engine documentation](https://cloud.google.com/compute/docs/regions-zones#available). To filter for Arm-based machines, click on `Select a machine type`, then select `T2A` or `C4A` from the pull-down menu.
52
+
To view the latest information on which available regions and zones support Arm-based servers, see the [Compute Engine documentation](https://cloud.google.com/compute/docs/regions-zones#available). To filter for Arm-based machines, click on `Select a machine type`, then select `C4A` or `T2A` from the pull-down menu.
53
53
54
-

54
+

55
55
56
56
### Machine configuration
57
57
58
58
Select `C4A` from the `Series` pull-down menu. Then select an appropriate `Machine type` configuration for your needs.
59
59
60
-

60
+

0 commit comments