nvx-collect-benchmarks
Collect fresh NVX benchmark results on a prepared Linux/KVM, Linux/MSHV, or Windows/WHP host with the smoke, CI-equivalent, or canonical profile. Use for acceptance runs, performance suites, p50 collection, benchmark artifacts, and same-host performance comparisons.
- License 许可
- MIT
- 所属仓库
- microsoft/nvx
- 最近更新
- 2026-11-15
- Stars
- ★ 841
- Forks
- 59
01 前言 Front Matter
- name
- nvx-collect-benchmarks
- description
- Collect fresh NVX benchmark results on a prepared Linux/KVM, Linux/MSHV, or Windows/WHP host with the smoke, CI-equivalent, or canonical profile. Use for acceptance runs, performance suites, p50 collection, benchmark artifacts, and same-host performance comparisons.
- argument-hint
- [local|host-profile] [kvm|mshv|whp] [smoke|ci|canonical]
03 SKILL.md 正文
Collect NVX Benchmarks
Commands use python3; use python on Windows.
-
Prepare the host with nvx-prepare-host, and reuse its checkout, backend, revision, artifacts, and
host_type. For a local run, ask whether the host isbaremetalorvirtual-machineunless the user said so; never infer it from probes. -
Choose one profile, and name it in the report:
smokechecks that the suites work; never persist, gate, or compare it.cireproduces CI's sampling, which the tool reads from the measured revision's run-benchmark with PyYAML, whichscripts/setup/azure/requirements.txtinstalls.canonicalis the manual baseline of Benchmark; add--with-multi-vcpufor CI's restore runs at 2, 4, and 8 vCPUs.
Compare results only between runs of the same profile on the same host.
-
Measure on a quiet, idle host with a stable power mode and a release OpenVMM, with nothing else running. Run this checkout's coordinator against the prepared checkout, which may predate it, and which provides the
scripts/nvx.pythat measures. Locally:python3 scripts/benchmark_series.py --repo CHECKOUT --profile PROFILE --backend BACKEND --host-type HOST_TYPEOn a remote host,
nvx_hosts.pyruns it there over one SSH connection, whose loss ends the run:python3 scripts/nvx_hosts.py benchmark HOST --cwd CHECKOUT -- --profile PROFILE --backend BACKEND --host-type HOST_TYPE--dry-runprints the plan. The tool refuses to start while an OpenVMM process runs; writes a freshdata/runs/manual/<run>-<platform>directory in the measured checkout; runs acceptance first and stops when it fails; validates each attempt and remeasures an unstable one once, as CI does; collects the p50 CSV files andsummary.md; checks the result set and its host provenance; and printsNVX_RESULTS=<directory>. -
When acceptance fails, keep its output and debug it with nvx-run-microvm; never collect performance data from a failing host.
-
Inspect a local result directory in place. From a remote host, copy only that fresh directory with the user's
scporsftp, quoting both paths, and check the path's spelling withsftpon Windows OpenSSH, whose drive letters depend on the server's root. Never copy the checkout or credential files, and keep the remote copy unless the user asks to remove it.
Report
Report local or SSH execution, the host, host type, profile, platform, backend, commit, dirty state, artifact source, host conditions, the exact command and its exit status, the summary's results, and the local and remote result paths. Name every skipped metric, changed option, privilege limitation, and interrupted run.
04 同仓库更多 Skills
nvx-triage-ci-run
Triage a failed, cancelled, or hanging microsoft/nvx GitHub Actions run: classify supersession and queueing, find the first causal failure for the exact head, reproduce it on the matching platform, and fix it locally without committing. Use for workflow run URLs or IDs, red pull-request checks, runner, matrix, and artifact-handoff failures, and performance-gate or benchmark-host failures.
nvx-run-microvm
Boot an NVX microVM with nvx-rs on Linux/KVM, Linux/MSHV, or Windows/WHP, exercise the guest, and debug failed boots. Use for boot smoke tests, guest shell sessions, virtio-fs mounts, networking, kernel command lines, missing boot markers, OpenVMM errors, guest hangs, and benchmark acceptance failures.
nvx-rebase-openvmm-chain
Rebase or reorganize the OpenVMM microVM chain onto the latest upstream main as a new feature/microvm/release branch, validate and publish it, pin it in NVX with a remapped roadmap, and land it. Use for microVM release rebases and reorganizations, chain commits that upstream landed, rebase conflicts and fixups, and the release landing order.
nvx-promote-openvmm-pin
Pin a reviewed OpenVMM revision in NVX: verify its provenance and signature, commit the gitlink and the OpenVMM roadmap mapping, validate the exact pin, and land the OpenVMM pull request by fast-forward. Use for OpenVMM pin updates, clean replacement pull requests, source-equivalence checks, and mapping new chain commits in the OpenVMM upstream roadmap.
nvx-prepare-host
Prepare a local host or a configured SSH host for NVX work: resolve its profile, probe its KVM, MSHV, or WHP backend and checkout, check out the requested revision in a temporary worktree, and stage nvx-rs and the artifacts. Use before running, debugging, or benchmarking NVX on a host, or to diagnose a host's prerequisites.
nvx-fix-issue
Fix one microsoft/nvx issue end to end: reproduce it on the configured hosts, commit signed fixes, open a Ready pull request against dev, and drive CI and review until only a maintainer's approval remains. Use when invoked with an NVX issue number or URL.