diff --git a/docs/release-control/v6/internal/subsystems/frontend-primitives.md b/docs/release-control/v6/internal/subsystems/frontend-primitives.md index 7fdec8974e..3cf539efc4 100644 --- a/docs/release-control/v6/internal/subsystems/frontend-primitives.md +++ b/docs/release-control/v6/internal/subsystems/frontend-primitives.md @@ -5465,7 +5465,12 @@ reading, qualified "current" or "last known". An active alert on a charted metric tones that reading and, when it carries a numeric trigger, draws it as a dashed line in its severity colour; `getDrawerChartAlerts` maps alert types to chart metrics and converts I/O triggers from the alert engine's MiB/s to -the charts' bytes per second. Any +the charts' bytes per second. Each line is a bucket average, so a tinted band +behind it spans every bucket's own lowest and highest reading +(`buildGuestDrawerHistoryBandPath`): a short spike stays visible after +downsampling. While a time is inspected the readout names that bucket's peak +when it rises at least a tenth of the plot above the average, and the +accessible value states each reading's average and range. Any warning- or danger-toned detail row is lifted into a "Worth checking" section in front, whichever section owns it, so demotion never hides a reason a reading cannot be trusted. Guest diff --git a/docs/release-control/v6/internal/subsystems/performance-and-scalability.md b/docs/release-control/v6/internal/subsystems/performance-and-scalability.md index e3cfaef27d..bb7beb15bb 100644 --- a/docs/release-control/v6/internal/subsystems/performance-and-scalability.md +++ b/docs/release-control/v6/internal/subsystems/performance-and-scalability.md @@ -4013,8 +4013,9 @@ node per observation beyond the marker's two paths, and the readout no longer inserts or removes a line as the inspected time changes. Numeric gridline labels are computed from the scale the panel already holds; the compact "Worth checking" list reuses rows already derived, and an alert's -dashed trigger line reuses the alert the drawer already holds. None adds a read -or timer. +dashed trigger line reuses the alert the drawer already holds. The min-max band +reads the `min`/`max` each stored bucket already carries: one extra path per +series with any spread (none for flat data). None adds a read or timer. The default stored-history legend resolves one latest timestamp from that same bounded, normalized panel index, then looks up each configured series at diff --git a/frontend-modern/browser-verification/35189f0b76ceee53.json b/frontend-modern/browser-verification/35189f0b76ceee53.json new file mode 100644 index 0000000000..5f80e6e9c8 --- /dev/null +++ b/frontend-modern/browser-verification/35189f0b76ceee53.json @@ -0,0 +1,37 @@ +{ + "version": 1, + "base_sha": "b837a8a98d113aa2f06008afc329912eee19b7f4", + "verified_at": "2026-10-13T21:56:00Z", + "result": "passed", + "changed_paths": [ + "frontend-modern/src/components/Workloads/GuestDrawerHistory.tsx", + "frontend-modern/src/components/Workloads/guestDrawerModel.ts" + ], + "content_sha256": { + "frontend-modern/src/components/Workloads/GuestDrawerHistory.tsx": "63d543738ffb71ca86a8f9786d75c6479ae7ed0673a4f96b81620a549be63a82", + "frontend-modern/src/components/Workloads/guestDrawerModel.ts": "9e46fe5e7adc08b9199248516583745af18c3a08d225367645d0e8b47b86c64a" + }, + "routes": [ + "/proxmox/overview" + ], + "viewports": [ + { + "width": 1440, + "height": 900 + }, + { + "width": 390, + "height": 844 + } + ], + "states": [ + "final built bytes of this tree (origin/main b837a8a98d plus this change) embedded in a darwin binary, mock mode, headless Chromium on pulse-dev through a reverse tunnel, full-resolution element screenshots read by eye", + "mock history first: its stored buckets barely spread (10 of 102 points, by under 0.1 percentage points), so bands there are a hairline halo and no peak is named", + "then /api/metrics-store/history intercepted with 96 synthetic 24h buckets: CPU averaging 14-22% with two buckets peaking at 97%, network in peaking at 40 MB/s once, disk read peaking at 30 MB/s twice, memory and disk flat. Each spike shows as a tinted, outlined spire from its average line up to its peak on the Utilization, Network I/O and Disk I/O charts, while flat series draw no band", + "1440px: three charts side by side, spires visible at every spike; 390px: charts stacked, the same spires visible, no horizontal overflow" + ], + "interactions": [ + "expanded the first guest row; hovered the Utilization plot over the CPU spike bucket at 1440 and 390px: the header read \"Stored ยท