2023-10-13 WPA-plugin status sync up meeting
Attendees
@Przemyslaw Wirkus
@Manoj Iyer
@Lina Iyer
Alaaeddine Chakroun
Nader Zouaoui
Gabriel Chouchane
Other
We have WPA plugin Wiki page WindowsPerf GUI - WPA plugin design overview which describes milestones we will continue developing.
@Manoj Iyer: suggested that we should consider adding docs with some pointers regarding:
How to position
wperf.exe
withstart /affinity MASK
to avoidwperf
process to reside on the same core with sampled / counted payload.As above but for
VS
/VS-extension process (GUI)
.
@Przemyslaw Wirkus: With VS-extension development and WPA-plugin we need to consider “combined release” where we create and publish binary release containing:
WindowsPerf (
wperf
+wperf-driver
+wperf-lib
).VS-extension binary file(s).
WPA-plugin binary file(s).
Minutes
Discuss WPA plugin kick off agenda.
We will firstly focus on counting support for WindowsPerf 3.0.0.
We will tackle sampling output when we finalize counting and timeline (N x counting).
WPA mainly for static (not real time) chart / graph GUI.
WPA contains many way to filter column / row data from provided data-set.
Mainly for plotting.
WPA plugin allow users to write simple data-set adapters. These can convert any format into WPA readable format.
Another option is to generate WPA compatible output that e.g. WPR (Recorder) can produce.
We can also read e.g. CSV files or JSON files and load them “via plugin” to WPA GUI for plotting.
WPA can be used in counting for:
Plotting of 1 count instance, with 1..n cores used.
Plotting of events and metrics in counting.
Plotting of timeline - a list of consecutive (in time) counts. Example command specified by user
wperf stat ... -t -i <I> -n <N>
.Plotting of timeline would be done by reading a JSON file which contains each counting “occurrence”.
We may want to add timestamp to each counting (when started, up to [ms] in order to plot these with proper time scale in WPA (WPA can read e.g. timestamps as X axis).
Nader suggested that we can also use WPA and present meaningful data from sampling.
TBD as we will first focus on WPA counting support.
Nader suggested that we can prepare workflow in which:
User, with
vs-extension
does counting / sampling and its output can be passed directly to WPA for visualisation / plotting.This is very good idea and will simplify WindowsPerf GUI (
vs-extension)
- we can avoid plotting code inside extension and delegate to existing tool.Note: WPA is not capable for “real time” plotting, so we can prot in WPA when we finalize timelines. because timelines may be long (>1h) users will not be able to observe timeline progression in WPA.
Also,
wperf
currently do not support “real time” timeline count data output. We generate CSV file when timeline is finished.
Nader suggested that we should build timeline for WPA GUI plotting with JSON format only, as CSV is not so flexible.
We need a JSON format as it’s easier to parse compared to CSV plus it is already used in VS-extension.
We want to add few things to counting JSON itself, e.g:
Add timestamp (start / stop) or duration of count.
No need to add interval (
-i
command line option) timestamps as these are “void space” between counts. As we know when count start / stop.Add to counting JSON output, when we use metrics with formula (
-m <METRIC
command line option), metric formula and metric unit to improve WPA plotting.We do not want to call
wperf
to get this information as WPA is not designed to call other programs. It’s designed to statically load input file.
TODO
wperf.exe
on a core different for one we sample / count on.-m
metric that has formula, unit etc.