#109 initial batch mode - #221
Merged
Merged
Conversation
jamesmarkchan
requested review from
JasmineRRod and
lane1995
and
a lite review from Copilot
September 7, 2026 10:06
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Batch cancellation is currently reported as “completed” (misleading UI/state), and a couple of smaller correctness/clarity issues should be addressed before merge.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds an initial “Batch mode” workflow to run selected benchmark profiles across multiple drives, track progress, and review historical batch runs via a new bottom-pane reports tab.
Changes:
- Introduces Batch UI (setup → running → results) plus Batch Reports history tab and tab constants.
- Persists batch grouping via a
batchIdonBenchmarkand adds queries to load batch history. - Wires theme/palette updates so the batch comparison chart matches the active UI theme.
File summaries
| File | Description |
|---|---|
| RELEASE.md | Adds release checklist documentation. |
| jdm-core/src/main/java/org/metricus/jdm/ui/Tabs.java | Adds tab labels for Batch + Batch Reports. |
| jdm-core/src/main/java/org/metricus/jdm/ui/Palette.java | Refreshes batch chart colors on palette apply. |
| jdm-core/src/main/java/jdiskmark/MainFrame.java | Adds Batch top tab + Batch Reports bottom tab; refreshes reports on tab selection. |
| jdm-core/src/main/java/jdiskmark/Gui.java | Stores references to new batch panels; refreshes chart on theme apply. |
| jdm-core/src/main/java/jdiskmark/Benchmark.java | Adds batchId column and queries for batch history. |
| jdm-core/src/main/java/jdiskmark/BatchWorker.java | Implements batch execution, retry, cooldown, persistence, and event publishing. |
| jdm-core/src/main/java/jdiskmark/BatchResult.java | Adds in-memory representation of a batch run and per-run statuses. |
| jdm-core/src/main/java/jdiskmark/BatchReportsPanel.java | Bottom-pane history table that loads selected batch into Batch tab. |
| jdm-core/src/main/java/jdiskmark/BatchPanel.java | Full Batch tab UI: selection, progress, results chart/table, and history loading. |
| jdm-core/src/main/java/jdiskmark/BatchEvent.java | Defines events used to drive the running UI. |
| jdm-core/src/main/java/jdiskmark/BatchConfig.java | Captures batch selections and applies them to App for each run. |
| jdm-core/src/main/java/jdiskmark/App.java | Prevents starting a single benchmark while a batch is running. |
| jdm-core/docs/design.md | Updates GUI tab design documentation to include Batch mode. |
Review details
- Files reviewed: 14/14 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Member
Author
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.

new batch mode feature:
selection view:
results examples:
the running view:
report