Skip to content

Release: verbose mode for the top summary panels (010)#146

Merged
lesovsky merged 3 commits into
masterfrom
develop
Jun 25, 2026
Merged

Release: verbose mode for the top summary panels (010)#146
lesovsky merged 3 commits into
masterfrom
develop

Conversation

@lesovsky

Copy link
Copy Markdown
Owner

Promotes developmaster. Single feature since the 009 release.

Feature 010 — verbose mode for the top summary panels

Adds a verbose toggle (v) for the sysstat/pgstat top panels of pgcenter top: sysstat +3 rows (iostat/nicstat/filesyst), pgstat +5 rows (workload/databases/workers/replication/bgwr-ckpt). A display mode (not a new view → zero view-count impact), reusing the free-form render path, persistent across screens, keeping the expanded instance-health summary above any detailed table. Differentiator vs pg_activity: works over remote connections (PL/Perl) and travels with the DBA across screens.

Internals: verbose-gated all-three system collection (after the untouched mutually-exclusive collectExtra switch), verboseCollectState (first-tick n/a + collecting... hint + re-arm without Reset, latency guard max(refresh/4, 500ms) throttling only the dear no-twin aggregates to a stale value), new aggregate SQL in internal/query/overview.go, new formatters (ceil / reserved-digit / dynamic unit suffix), panel-consistent values (reuse of %util/Pused/struct math, nicstat /1024/128 parity).

Merged into develop via #145.

Verification

  • Full go test ./... green (race+coverage, live PG 14–18, 0 FAIL/0 SKIP); gosec 0 issues; go vet/gofmt clean. golangci-lint runs in CI.
  • TUI-only (NotRecordable). Visual acceptance passed (geometry, panel consistency, first-tick/stale, formatting).

Notes for release

  • TUI-only; host IO/disk in verbose deferred (variant A); recovery-t WAL standby path verified by substitution only (no standby cluster). See ADR log [010-feat-overview-dashboard] and tech-debt [010]-[015].
  • CI Go toolchain should be ≥1.25.11 (GO-2026-5037, tech-debt [015]).

🤖 Generated with Claude Code

lesovsky and others added 3 commits June 25, 2026 16:55
…0) (#145)

Adds a verbose toggle (`v`) for the sysstat/pgstat top panels: sysstat +3
rows (iostat/nicstat/filesyst), pgstat +5 rows (workload/databases/workers/
replication/bgwr-ckpt). A display mode (no new view), reusing the free-form
render path, persistent across screens. Includes verbose-gated all-three
system collection, verboseCollectState (first-tick n/a + collecting hint +
re-arm without Reset, latency guard max(refresh/4,500ms)), new formatters
(ceil/reserved-digit/dynamic unit suffix), and panel-consistent aggregates.

Full go test ./... green (live PG 14-18), gosec clean. TUI-only (NotRecordable).
Decision history under docs/features/010-feat-overview-dashboard/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ch debt, metrics, archive

Post-merge finalization of the verbose-panel feature (merged via PR #145):
- project-knowledge: verbose-mode capability (overview), Verbose Top-Panel
  Mode architecture subsection, 4 reusable patterns.
- features-catalog: [010] entry.
- decisions-log: 8 ADRs (mode-not-view, dual-boolean, topBandLayout,
  all-three branch, verboseCollectState re-arm, .ready backlog, databases
  split, latency guard).
- tech-debt: [010]-[015] (recovery-t substitution, rateField/RateUnit dup,
  Size-field width, golangci-lint v1/v2, tracked bin/pgcenter, GO-2026-5037).
- user-spec Post-implementation section; metrics finalized + copied to
  docs/metrics/; feature dir archived.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
revive redefines-builtin-id flagged local vars `max` (Go 1.21+ builtin)
in pretty.RateUnit and top.rateField, and `real` (complex builtin) in
an fsstat test. Rename to maxFit / realPath. No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesovsky lesovsky merged commit 4e25068 into master Jun 25, 2026
1 check passed
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.

1 participant