Hide DISK column on vSphere VMs table by default

vCenter performance counters surface VM disk throughput
(diskRead / diskWrite) but not guest filesystem usage, so the
shared workload Disk column always rendered an empty cell for
vSphere rows. Add `disk` to the vSphere table's
additionalDefaultHiddenColumnIds so the column is hidden by
default, matching the pattern Docker uses for columns it can't
populate. Users can still toggle the column on from the Columns
menu.

The proper root fix is on the backend: the vSphere adapter
should pull guestInfo.guestDiskInfo from VMware Tools to
populate metrics.disk. Until that lands, hiding the column is
the honest UX move.
This commit is contained in:
rcourtman
2026-05-23 09:20:53 +01:00
parent 35bbb5d552
commit 5fbbafc726
@@ -46,6 +46,13 @@ const VALID_TABS = new Set<VmwarePageTabId>(VMWARE_TAB_SPECS.map((tab) => tab.id
const VMWARE_PLATFORM_FILTER = 'vmware-vsphere';
const VMWARE_WORKLOAD_STATUS_STORAGE_SCOPE = 'vmware';
const VMWARE_WORKLOAD_COLUMN_VISIBILITY_SCOPE = 'vmware-vms';
// vCenter performance counters expose VM disk throughput (diskRead /
// diskWrite) but not guest filesystem usage. Surfacing that would require
// the vSphere adapter to pull guestInfo.guestDiskInfo from VMware Tools,
// which it doesn't do today. Hide the Disk column by default rather than
// render an always-empty cell; users can still toggle it on if a future
// adapter change starts populating metrics.disk for vSphere VMs.
const VMWARE_WORKLOAD_DEFAULT_HIDDEN_COLUMN_IDS: readonly string[] = ['disk'];
const VMWARE_WORKLOAD_STATUS_OPTIONS: readonly WorkloadsStatusOption[] = [
{ value: 'all', label: 'All' },
{ value: 'running', label: 'Powered on' },
@@ -233,6 +240,7 @@ function VmwareOverview(props: VmwareOverviewProps) {
allowEmbeddedScopeFilters: true,
statusModeStorageScope: VMWARE_WORKLOAD_STATUS_STORAGE_SCOPE,
columnVisibilityStorageScope: VMWARE_WORKLOAD_COLUMN_VISIBILITY_SCOPE,
additionalDefaultHiddenColumnIds: [...VMWARE_WORKLOAD_DEFAULT_HIDDEN_COLUMN_IDS],
compactGroupHeaders: true,
groupNodeDrawerMode: 'disabled',
metricDisplayMode: props.metricDisplayMode,