microsoft/netperf

Support Data Analysis Solution

Closed this issue · 1 comments

Since our perf data will be stored on an orphan branch, we still want devs to be able to run intracate queries to analyze details in the perf data that may not be available on the dashboard.

In general, we want to eliminate the dependency on the dashboard.

The solution that I have tentatively adopted is to create custom workflow runs that accepts a parameter (last N commits), and run the actions workflow which calls a bunch of powershell / python scripts to produce a CSV, or a SQL compatible file, and devs can use existing tools like Excel or PostgreSQL to look at columns and do analysis without having to rely on the dashboard.

This should be super easy for any MsQuic / XDP / Windows dev. They just need to go to Netperf, run the workflow associated with their project, and download the files to analyze.

In general, we want to eliminate the dependency on the dashboard.

I wouldn't go this far. The dashboard is the 99% scenario. Most everyone, including our devs most of the time, should only need to consult the dashboard. That being said, there will be cases where we need to dive into the raw data further, and it should be supported (priority 2).

The solution that I have tentatively adopted is to create custom workflow...

I think it's fine to start with a simple (PowerShell) script that an interested party can simply run locally. Something like:

  1. Clone the repo and checkout the orphan branch.
  2. Run the script to merge the raw data into a single file format.
  3. Do custom analysis/processing on the raw data.

If we want to create a GitHub workflow to automate 1 & 2, I'm not against it though. It should be easy enough to automate, but I just don't think it gives us all that much.