Skip to content

Add runner status script#1185

Open
bob80905 wants to merge 5 commits into
llvm:mainfrom
bob80905:add_runnerstatus_script
Open

Add runner status script#1185
bob80905 wants to merge 5 commits into
llvm:mainfrom
bob80905:add_runnerstatus_script

Conversation

@bob80905
Copy link
Copy Markdown
Contributor

@bob80905 bob80905 commented May 13, 2026

This script is handy for looking at the workload of the machines for the offload test suite.
It might be especially helpful in the near future, when the split build/test feature is commonplace.
Presently, it displays which jobs are being allocated (Done Active Queued) to which machine SKUs.
It should, in the future, display "build job" and "test job" allocations, for greater clarity.
It accepts one optional argument, to scope the output to a specific SKU, but leave it empty to get status on all SKUs.

For example, here's the output of this command:
python3 D:\OffloadTest\tools\runner_status.py

=== INTEL (runner: hlsl-windows-intel) ===

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Run (as of 2:08 PM PDT / 9:08 PM UTC)                                                                          Workflow                      Done  Active  Queued
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
[PR] Add Atan2 matrix test (1:04 PM PDT / 8:04 PM UTC)                                                         Execution Testing                6       0       3
[Scheduled] Windows D3D12 Intel Clang (1:35 PM PDT / 8:35 PM UTC)                                              Windows D3D12 Intel Clang        0     *1*       0
[Scheduled] Windows Vulkan Intel Clang (1:36 PM PDT / 8:36 PM UTC)                                             Windows Vulkan Intel Clang       0       0       1
[Scheduled] Windows D3D12 Intel DXC (1:37 PM PDT / 8:37 PM UTC)                                                Windows D3D12 Intel DXC          0       0       1
[PR] Unpack LLVM Distribution, and setup lit to run tests for specific test suite (1:50 PM PDT / 8:50 PM UTC)  Execution Testing                0       0       6
[PR] Add InterlockedAnd tests (2:03 PM PDT / 9:03 PM UTC)                                                      Execution Testing                0       0       6
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                                                           6       1      17

Currently running on intel:
  -> Windows-D3D12-Intel-Clang  (runner: CBIENEMAN-INTEL, run: Windows D3D12 Intel Clang)

=== AMD (runner: hlsl-windows-amd) ===

No runs with amd jobs found.

=== NVIDIA (runner: hlsl-windows-nvidia) ===

------------------------------------------------------------------------------------------------------------------------
Run (as of 2:08 PM PDT / 9:08 PM UTC)                                Workflow                       Done  Active  Queued
------------------------------------------------------------------------------------------------------------------------
[Scheduled] Windows D3D12 NVIDIA Clang (1:32 PM PDT / 8:32 PM UTC)   Windows D3D12 NVIDIA Clang        0     *1*       0
[Scheduled] Windows Vulkan NVIDIA Clang (1:34 PM PDT / 8:34 PM UTC)  Windows Vulkan NVIDIA Clang       0       0       1
------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                  0       1       1

Currently running on nvidia:
  -> Windows-D3D12-NVIDIA-Clang  (runner: HLSLPC-NVIDIA01, run: Windows D3D12 NVIDIA Clang)

=== QC (runner: hlsl-windows-qc) ===

----------------------------------------------------------------------------------------------------
Run (as of 2:08 PM PDT / 9:08 PM UTC)                      Workflow             Done  Active  Queued
----------------------------------------------------------------------------------------------------
[PR] Add InterlockedAnd tests (2:03 PM PDT / 9:03 PM UTC)  Execution Testing       0     *1*       1
----------------------------------------------------------------------------------------------------
TOTAL                                                                              0       1       1

Currently running on qc:
  -> check-hlsl-warp-d3d12  (runner: HLSLPC-QC01, run: Add InterlockedAnd tests)


Assisted by Github Copilot

Comment thread tools/runner_status.py Outdated
@damyanp
Copy link
Copy Markdown
Contributor

damyanp commented May 13, 2026

The PR description needs to be updated to match the new usage.

@damyanp
Copy link
Copy Markdown
Contributor

damyanp commented May 13, 2026

While this LGTM, a couple of questions:

  • I'm not sure of the right bar for helper scripts like this
  • Is "tools" the right location for it? Would somewhere under .github be better?

@bob80905
Copy link
Copy Markdown
Contributor Author

While this LGTM, a couple of questions:

  • I'm not sure of the right bar for helper scripts like this
  • Is "tools" the right location for it? Would somewhere under .github be better?

Sure, I think .github would be better.
Not sure what the bar is either, but I've had this script laying around for a while and have used it pretty frequently myself.
I imagine it'd be useful for folks to know how loaded a machine is, to estimate when their PR's workflows will be done, or to know if the machine that is still pending is being bogged down by scheduled workflows.
Might also somewhat inform us of which machines are slower / could use an additional SKU.
But in my opinion, the best use case for me is to see which machine takes the "build job" for a specific PR, it might be useful data to make sure build jobs are being well distributed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants