feat(benchmarks): add pool viewer and auto-shutdown#20
Merged
Conversation
Add pool_viewer.py module and CLI command for generating interactive HTML viewers from WAA parallel benchmark runs. Features: - Parse waa-pool-*.log files to extract task results - Summary stats (total tasks, success rate, avg time per task) - Per-worker breakdown showing tasks per worker - Task list with pass/fail status and step counts - Domain breakdown with per-domain success rates - Interactive filters for domain and status Usage: uv run python -m openadapt_ml.benchmarks.cli view-pool uv run python -m openadapt_ml.benchmarks.cli view-pool --run-name pool_run_20260204 uv run python -m openadapt_ml.benchmarks.cli view-pool --no-open Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add documentation for the auto-shutdown feature: - Explain auto-shutdown policy (default 4 hours) - Document --auto-shutdown-hours flag for pool-create and create - Document -y flag for pool-cleanup (skip confirmation) - Document test VM cleanup via try/finally Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update documentation to reflect the current working CLI: - Replace outdated `vm monitor` with `pool-status/pool-vnc/pool-logs` - Update single VM workflow to use `pool-create --workers 1` - Add analyze_pool_logs.py script for parsing benchmark results Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove --no-wait flag from test VM creation so the VM fully exists before we attempt to delete it. Previously, the test VM would still be provisioning when delete was called, causing delete to fail silently and leave orphaned VMs consuming quota. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Critical fixes for end-to-end pool workflow: 1. Use waa-auto:latest in pool-wait (not windowsarena/winarena) - pool-create builds waa-auto with modern dockurr/windows v5.14 - pool-wait was incorrectly using vanilla windowsarena/winarena (v0.00) - v0.00 doesn't support VERSION=11e auto-download - This caused "ISO file not found" errors 2. Wait for apt lock before Docker install - Fresh Azure VMs run unattended-upgrades - apt-get install failed with "unable to locate package" - Added wait loop for /var/lib/apt/lists/lock Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use vanilla windowsarena/winarena:latest with --entrypoint /bin/bash - Add --prepare-image false --start-client false flags (skips ISO download) - Use 172.30.0.2 for probe and emulator_ip (matching working waa command) The pool-wait command was broken because it used waa-auto:latest without the proper entrypoint and flags. The working 'waa' command (line 5404-5454) uses these exact parameters successfully. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
view-poolcommand)pool-*CLI commandsanalyze_pool_logs.pyscript for parsing resultsChanges
Pool Results Viewer (
pool_viewer.py)waa-pool-*.logfiles to extract task resultsAuto-Shutdown
--auto-shutdown-hoursflag onpool-createDocumentation
pool-status/pool-vnc/pool-logs(not outdatedvm monitor)Test plan
pool-create --workers 2sets auto-shutdown policyview-poolgenerates HTML frombenchmark_results/pool_run_20260204/pool-cleanup -ycleans up all resources🤖 Generated with Claude Code