Skip to content

Commit 0736fbe

Browse files
authored
Merge pull request #1361 from ArmDeveloperEcosystem/main
Production update
2 parents 39951d0 + 446888f commit 0736fbe

39 files changed

+628
-91
lines changed

assets/contributors.csv

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,6 @@ Cyril Rohr,RunsOn,crohr,cyrilrohr,,
4242
Rin Dobrescu,Arm,,,,
4343
Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,,
4444
Nader Zouaoui,Day Devs,nader-zouaoui,nader-zouaoui,@zouaoui_nader,https://daydevs.com/
45+
Alaaeddine Chakroun,Day Devs,Alaaeddine-Chakroun,alaaeddine-chakroun,,https://daydevs.com/
46+
Koki Mitsunami,Arm,,,,
47+
Chen Zhang,Zilliz,,,,
27.4 KB
Loading
66.7 KB
Loading
64 KB
Loading
59.7 KB
Loading

content/install-guides/windows-perf-vs-extension.md

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,33 @@ multi_install: FALSE # Set to true if first page of multi-page article, else fal
2828
multitool_install_part: false # Set to true if a sub-page of a multi-page article, else false
2929
layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles
3030
---
31+
[WindowsPerf](/install-guides/wperf/) is a lightweight performance profiling tool inspired by Linux Perf, and specifically tailored for Windows on Arm. It leverages the AArch64 Performance Monitoring Unit (PMU) and its hardware counters to offer precise profiling capabilities.
3132

32-
## Introduction
33+
Recognizing the complexities of command-line interaction, the WindowsPerf GUI is a Visual Studio 2022 extension created to provide a more intuitive, integrated experience within the Integrated Development Environment (IDE). This tool enables developers to interact with WindowsPerf, adjust settings, and visualize performance data seamlessly in Visual Studio.
3334

34-
WindowsPerf is a lightweight performance profiling tool inspired by Linux Perf, and specifically tailored for Windows on Arm. It leverages the ARM64 PMU (Performance Monitor Unit) and its hardware counters to offer precise profiling capabilities.
35-
36-
Recognizing the complexities of command-line interaction, the WindowsPerf GUI is a Visual Studio 2022 extension created to provide a more intuitive, integrated experience within the integrated development environment (IDE). This tool enables developers to interact with WindowsPerf, adjust settings, and visualize performance data seamlessly in Visual Studio.
37-
38-
## A Glimpse of the available features
35+
## Overview of key features
3936

4037
The WindowsPerf GUI extension is composed of several key features, each designed to streamline the user experience:
4138

42-
- **WindowsPerf Configuration**: Connect directly to `wperf.exe` for a seamless integration. Configuration is accessible via `Tools -> Options -> Windows Perf -> WindowsPerf Path`.
43-
- **Host Data**: Understand your environment with `Tools -> WindowsPerf Host Data`, offering insights into tests run by WindowsPerf.
44-
- **Output Logging**: All commands executed through the GUI are logged, ensuring transparency and aiding in performance analysis.
45-
- **Sampling UI**: Customize your sampling experience by selecting events, setting frequency and duration, choosing programs for sampling, and comprehensively analyzing results.
39+
- **WindowsPerf Configuration**: Connect directly to `wperf.exe` for a seamless integration. Configuration is accessible by selecting **Tools > Options > Windows Perf > WindowsPerf Path**.
40+
- **Host Data**: Understand your environment by selecting **Tools** then **WindowsPerf Host Data**. This offers insights into tests run by WindowsPerf.
41+
- **Output Logging**: All commands executed through the GUI are logged, ensuring transparency and supporting performance analysis.
42+
- **Sampling UI**: Customize your sampling experience by selecting events, setting frequency and duration, choosing programs for sampling, and comprehensively analyzing results. See screenshot below.
4643

4744
![Sampling preview #center](../_images/wperf-vs-extension-sampling-preview.png "Sampling settings UI Overview")
4845

4946

50-
- **Counting Settings UI**: Build a `wperf stat` command from scratch using the configuration interface, then view the output in the IDE or open it with Windows Performance Analyzer (WPA)
51-
52-
53-
![Counting preview #center](../_images/wperf-vs-extension-counting-preview.png "_Counting settings UI Overview_")
47+
- **Counting Settings UI**: Build a `wperf stat` command from scratch using the configuration interface, then view the output in the IDE or open it with Windows Performance Analyzer (WPA). See screenshot below.
5448

5549

56-
## Getting Started
50+
![Counting preview #center](../_images/wperf-vs-extension-counting-preview.png "Counting settings UI Overview")
5751

58-
### Prerequisites
52+
## Before you begin
5953

60-
- **Visual Studio 2022**: Ensure you have Visual Studio 2022 installed on your Windows on Arm device.
61-
- **WindowsPerf**: Download and install WindowsPerf by following the [WindowsPerf install guide](/install-guides/wperf/).
62-
- **LLVM** (Recommended): You can install the LLVM toolchain by following the [LLVM toolchain for Windows on Arm install guide](/install-guides/llvm-woa).
54+
Before installing WindowsPerf Visual Studio Extension, check the following:
55+
1. Ensure Visual Studio 2022 is installed on your Windows on Arm device.
56+
2. Download and install WindowsPerf by following the [WindowsPerf install guide](/install-guides/wperf/).
57+
3. (Recommended) You can install the LLVM toolchain by following the [LLVM toolchain for Windows on Arm install guide](/install-guides/llvm-woa).
6358

6459
{{% notice llvm-objdump %}}
6560
The disassembly feature needs to have `llvm-objdump` available at `%PATH%` to work properly.
@@ -69,11 +64,10 @@ The disassembly feature needs to have `llvm-objdump` available at `%PATH%` to wo
6964

7065
To install the WindowsPerf Visual Studio Extension from Visual Studio:
7166

72-
1. Open Visual Studio 2022
73-
2. Go to the `Extensions` menu
74-
3. Select **Manage Extensions**
75-
4. Click on the search bar ( or tap `Ctrl` + `L` ) and type `WindowsPerf`
76-
5. Click on the install button and restart Visual Studio
67+
1. Open Visual Studio 2022.
68+
2. Go to the **Extensions** menu and select **Manage Extensions**.
69+
4. Click on the search bar (Ctrl+L) and type `WindowsPerf`.
70+
5. Click on the **Install** button and restart Visual Studio.
7771

7872
![WindowsPerf install page #center](../_images/wperf-vs-extension-install-page.png)
7973

@@ -83,7 +77,7 @@ You can also install the WindowsPerf Visual Studio Extension from GitHub.
8377

8478
Download the installation file directly from the [GitHub release page](https://github.com/arm-developer-tools/windowsperf-vs-extension/releases).
8579

86-
Unzip the downloaded file and double click on the `WindowsPerfGUI.vsix` file
80+
Unzip the downloaded file and double click on the `WindowsPerfGUI.vsix` file.
8781

8882
{{% notice Note %}}
8983
Make sure that any previous version of the extension is uninstalled and that Visual Studio is closed before installing the extension.
@@ -97,10 +91,10 @@ Building the source is not required, but offered as an alternative installation
9791

9892
### WindowsPerf Setup
9993

100-
To get started, you must link the GUI with the executable file `wperf.exe` by navigating to `Tools -> Options -> WindowsPerf -> WindowsPerf Path`. This step is crucial for utilizing the GUI, and the extension will not work if you don't do it.
94+
To get started, you must link the GUI with the executable file `wperf.exe` by navigating to **Tools > Options > WindowsPerf > WindowsPerf Path**. This step is crucial for utilizing the GUI, and the extension will not work if you don't do it.
10195

10296
## Uninstall the WindowsPerfGUI extension
10397

104-
In Visual Studio go to `Extensions` -> `Manage Extensions` -> `Installed` -> `All` -> `WindowsPerfGUI` and select "Uninstall".
98+
In Visual Studio go to **Extensions > Manage Extensions > Installed > All > WindowsPerfGUI** and select **Uninstall**.
10599

106-
Please note that this will be scheduled by Visual Studio. You may need to close VS instance and follow uninstall wizard to remove the extension.
100+
As this will be scheduled by Visual Studio, you might need to close the VS instance and follow the uninstall wizard to remove the extension.
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
### Title the install tools article with the name of the tool to be installed
3+
### Include vendor name where appropriate
4+
title: Windows Performance Analyzer (WPA) Plugin
5+
minutes_to_complete: 15
6+
7+
draft: true
8+
9+
official_docs: https://github.com/arm-developer-tools/windowsperf-wpa-plugin
10+
11+
author_primary: Alaaeddine Chakroun
12+
13+
### Optional additional search terms (one per line) to assist in finding the article
14+
additional_search_terms:
15+
- perf
16+
- profiling
17+
- profiler
18+
- windows
19+
- woa
20+
- windows on arm
21+
- windows performance analyzer
22+
- wpa
23+
24+
### FIXED, DO NOT MODIFY
25+
weight: 1 # Defines page ordering. Must be 1 for first (or only) page.
26+
tool_install: true # Set to true to be listed in main selection page, else false
27+
multi_install: FALSE # Set to true if first page of multi-page article, else false
28+
multitool_install_part: false # Set to true if a sub-page of a multi-page article, else false
29+
layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles
30+
---
31+
32+
## What is the Windows Performance Analyzer plugin?
33+
34+
The Windows Performance Analyzer plugin connects Windows Perf to the Windows Performance Analyzer (WPA).
35+
36+
[WindowsPerf](https://github.com/arm-developer-tools/windowsperf) is a lightweight performance profiling tool inspired by Linux Perf and designed for Windows on Arm.
37+
38+
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.
39+
40+
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+
42+
## What are some of the features of the WPA plugin?
43+
44+
The WindowsPerf GUI extension is composed of several key features, each designed to streamline the user experience:
45+
46+
### What is the timeline view?
47+
48+
The timeline view visualizes the `wperf stat` timeline data plotted by event group.
49+
50+
![Timeline By Core Table](/install-guides/_images/wpa-timeline-by-core.png)
51+
52+
### What is the telemetry view?
53+
54+
The telemetry view displays telemetry events grouped by unit.
55+
56+
![Telemetry Table](/install-guides/_images/wpa-telemetry-table.png)
57+
58+
## How do I install the WPA plugin?
59+
60+
Before using the WPA plugin, make sure you have installed WPA.
61+
62+
### Windows Performance Analyzer
63+
64+
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+
66+
{{% notice Note %}}
67+
The WPA plugin requires WPA version `11.0.7.2` or higher.
68+
{{% /notice %}}
69+
70+
Run the downloaded `adksetup.exe` program.
71+
72+
Specify the default installation location and accept the license agreement.
73+
74+
Make sure that "Windows Performance Toolkit" is checked under "Select the features you want to install".
75+
76+
![WPA Installation](/install-guides/_images/wpa-installation.png)
77+
78+
Finally, click Install.
79+
80+
### Windows Performance Analyzer plugin
81+
82+
The plugin is a single `.dll` file.
83+
84+
Download a `.zip` file from the [GitHub releases page](https://github.com/arm-developer-tools/windowsperf-wpa-plugin/releases).
85+
86+
To download the latest version from the command prompt:
87+
88+
```console
89+
mkdir wpa-plugin
90+
cd wpa-plugin
91+
curl -L -O https://github.com/arm-developer-tools/windowsperf-wpa-plugin/releases/download/1.0.2/wpa-plugin-1.0.2.zip
92+
```
93+
94+
Extract the `.dll` file from the downloaded `.zip` file.
95+
96+
```console
97+
tar -xmf wpa-plugin-1.0.2.zip
98+
```
99+
100+
You now have the file `WPAPlugin.dll` in your `wpa-plugin` directory.
101+
102+
There are three ways you can install the `WPAPlugin.dll` file:
103+
104+
###### 1. Copy the plugin dll to the CustomDataSources directory next to the WPA executable.
105+
106+
The default location is:
107+
`C:\\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\CustomDataSources`
108+
109+
###### 2. Set an environment variable
110+
111+
Set the `WPA_ADDITIONAL_SEARCH_DIRECTORIES` environment variable to the location of the DLL file.
112+
113+
###### 3. Start WPA from the command line and pass the plugin directory location using a flag.
114+
115+
Use the `-addsearchdir` flag for `wpa`:
116+
117+
```bash
118+
wpa -addsearchdir "%USERPROFILE%\plugins"
119+
```
120+
121+
## How can I verify the WPA plugin is installed?
122+
123+
To verify the plugin is loaded, launch WPA and the plugin should appear under `Help > About Windows Performance Analyzer`
124+
125+
![WPA installation confirmation](/install-guides/_images/about-wpa.png)
126+
127+
## How can I run the WPA plugin from the command line?
128+
129+
To open a json file directly from the command line, you can use the `-i` flag to specify the file path to open.
130+
131+
For example: to open `timeline_long.json` in your downloads directory, run the command:
132+
133+
```console
134+
wpa -i "%USERPROFILE%\\Downloads\\timeline_long.json"
135+
```
136+
## How do I uninstall the WPA plugin?
137+
138+
To uninstall the plugin simply delete the `WPAPlugin.dll` file.
139+

content/learning-paths/cross-platform/gitlab/1-gitlab-runner.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ A GitLab Runner works with GitLab CI/CD to run jobs in a pipeline. It acts as an
1616
3. Multi-architecture support: GitLab runners support multiple architectures including - `x86/amd64` and `arm64`
1717

1818
## What is Google Axion?
19-
Axion is Google’s first Arm-based server processor, built using the Armv9 Neoverse V2 CPU. The VM instances are part of the `C4A` family of compute instances. To learn more about Google Axion refer to this [blog](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu).
20-
21-
Note: These `C4A` VM instances are in public preview and needs a signup to be enabled in your Google Cloud account/project.
19+
Axion is Google’s first Arm-based server processor, built using the Armv9 Neoverse V2 CPU. The VM instances are part of the `C4A` family of compute instances. To learn more about Google Axion refer to this [page](cloud.google.com/products/axion).
2220

2321
## Install GitLab runner on a Google Axion VM
2422

content/learning-paths/cross-platform/gitlab/_index.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
---
22
title: Build a CI/CD pipeline with GitLab on Google Axion
3-
draft: true
4-
cascade:
5-
draft: true
63

74
minutes_to_complete: 30
85

content/learning-paths/servers-and-cloud-computing/csp/google.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ layout: "learningpathall"
1111

1212
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.
1313

14-
This section is to help you get started with [Google Cloud Compute Engine](https://cloud.google.com/compute) compute services, using Arm-based [Tau T2A](https://cloud.google.com/tau-vm) Virtual Machines. This is a general-purpose compute platform, essentially your own personal computer in the cloud.
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.
1515

1616
Detailed instructions are available in the Google Cloud [documentation](https://cloud.google.com/compute/docs/instances).
1717

@@ -23,7 +23,7 @@ If using an organization's account, you will likely need to consult with your in
2323

2424
## Browse for an appropriate instance
2525

26-
Google Cloud offers a wide range of instance types, covering all performance (and pricing) points. For an overview of the Tau 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 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.
2727

2828
Also note which [regions](https://cloud.google.com/compute/docs/regions-zones#available) these servers are available in.
2929

@@ -49,15 +49,15 @@ Select an appropriate `region` and `zone` that support Arm-based servers.
4949

5050
![google3 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/f2a19cd0-7565-44d3-9e6f-b27bccad3e86 "Select an appropriate region and zone")
5151

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` 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 `T2A` or `C4A` from the pull-down menu.
5353

5454
![google4 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/5b1683dc-724f-4c60-aea6-dc945c7bf6bc "Check which regions and zones support Arm-based machines")
5555

5656
### Machine configuration
5757

58-
Select `T2A` from the `Series` pull-down menu. Then select an appropriate `Machine type` configuration for your needs.
58+
Select `C4A` from the `Series` pull-down menu. Then select an appropriate `Machine type` configuration for your needs.
5959

60-
![google5 #center](images/gcp_instance.png "Select an appropriate T2A machine type")
60+
![google5 #center](images/gcp_instance_new.png "Select an appropriate C4A machine type")
6161

6262
### Boot disk configuration
6363

0 commit comments

Comments
 (0)