Skip to content

Commit 5151bba

Browse files
docs: wpa plugin learning path
1 parent 6b719b0 commit 5151bba

File tree

7 files changed

+100
-0
lines changed

7 files changed

+100
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
title: Get started with WindowsPerf WPA Plugin
3+
4+
minutes_to_complete: 15
5+
6+
who_is_this_for: This is an introductory topic for software developers working on laptops and desktops and new to the Arm architecture.
7+
8+
learning_objectives:
9+
- Install WindowsPerf WPA Plugin on Windows
10+
- Import a WindowsPerf counting timeline as a .json file in WPA
11+
- Visualize the timeline in WPA using the Windowsperf WPA Plugin
12+
13+
prerequisites:
14+
- Windows desktop or development machine
15+
16+
author_primary: Alaaeddine Chakroun
17+
18+
### Tags
19+
skilllevels: Introductory
20+
subjects: Performance and Architecture
21+
armips:
22+
- Cortex-A
23+
operatingsystems:
24+
- Windows
25+
tools_software_languages:
26+
- WindowsPerf
27+
28+
### FIXED, DO NOT MODIFY
29+
# ================================================================================
30+
weight: 1 # _index.md always has weight of 1 to order correctly
31+
layout: "learningpathall" # All files under learning paths have this same wrapper
32+
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
33+
---
11.2 KB
Loading
64 KB
Loading
59.7 KB
Loading
63.1 KB
Loading
30.9 KB
Loading
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
layout: learningpathall
3+
title: WindowsPerf WPA Plugin
4+
weight: 2
5+
---
6+
7+
# Overview
8+
9+
[**WindowsPerf**](https://github.com/arm-developer-tools/windowsperf) is a lightweight performance profiling tool inspired by Linux perf, specifically tailored for Windows on Arm.
10+
It leverages the Arm64 PMU (Performance Monitor Unit) and its hardware counters to offer precise profiling capabilities.
11+
The **WindowsPerf WPA plugin** bridges the gap between the detailed output of **WindowsPerf** and the powerful capabilities of **Windows Performance Analyzer**.
12+
13+
## WindowsPerf WPA Plugin releases
14+
15+
You can find all binary releases of `WindowsPerf WPA Plugin` [here](https://github.com/arm-developer-tools/windowsperf-wpa-plugin/releases).
16+
17+
# Installation
18+
19+
For installation instructions see the [install guide](/install-guides/windows-perf-wpa-plugin).
20+
21+
## Using WindowsPerf WPA Plugin
22+
23+
In order to use the `WindowsPerf WPA Plugin`, we first need to get a `.json` output from a `wperf stat` command running on a Windows on Arm machine.
24+
25+
### Timeline
26+
27+
For this example we will be running the following command:
28+
29+
```bash
30+
wperf stat -m dcache -c 0,1,2,3,4,5,6,7 -t -i 0 -n 50 --json
31+
```
32+
33+
Importing the generated output in WPA will show us the following graph:
34+
![timeline-by-core](figures/timeline-by-core.png)
35+
36+
We can change the default grouping from `Group by core` to `Group by event` to see the following graph instead:
37+
![timeline-by-event](figures/timeline-by-event.png)
38+
39+
The WindowsPerf WPA Plugin also generates a graph per event note in order to provide a more in-depth grouping of events. To see all the generated graphs we can expand the `Counting timeline` section in the graph explorer section of WPA.
40+
41+
For this example, the following command was used instead:
42+
43+
```bash
44+
wperf stat -t -i 0 -m imix,l1d_cache_miss_ratio,l1d_cache_mpki,l1d_tlb_miss_ratio,l1d_tlb_mpki -e inst_spec,vfp_spec,ld_spec,st_spec -c 1 --json
45+
```
46+
47+
![timeline-events-by-key](figures/timeline-events-by-key.png)
48+
49+
We can double click on any graph to expand it under the Analysis tab for further data visualization.
50+
51+
### Telemetry
52+
53+
The WindowsPerf WPA Plugin also allows the visualization of telemetry metrics counted similarly to counting events.
54+
55+
For this example, the following command was used:
56+
57+
```bash
58+
wperf stat -t -i 0 -m imix,l1d_cache_miss_ratio,l1d_cache_mpki,l1d_tlb_miss_ratio,l1d_tlb_mpki -e inst_spec,vfp_spec,ld_spec,st_spec -c 1 --json
59+
```
60+
61+
Similarlry to the graphs generated per event note for timeline events, we can also see the generated telemetry timeline graphs under the grapher explorer level in WPA. These graphs are generated dynamically so only the relevant metrics for the given `.json` output file are visible.
62+
63+
![telemetry-preview](figures/telemetry-preview.png)
64+
65+
Once expanded, a more in-depth view is visible under the Analysis tab of WPA.
66+
67+
![telemetry-table](figures/telemetry-table.png)

0 commit comments

Comments
 (0)