mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-25 12:52:25 +00:00
b855b21c7f
Clears the six dupl pairs in internal/monitoring: - poll_providers.go: PVE/PBS/PMG listInstances / describeInstances / connectionStatus closures collapse into generic sortedClientNames, describeProviderInstances, and providerConnectionStatuses helpers; the PBS/PMG adapters are now built by newPrefixedPollProvider from a prefixedPollProviderSpec (prefix drives status keys, health keys, and the fallback instance name). - truenas_poller.go / vmware_poller.go: the Start scheduling loop (double-start guard, stopped-channel handshake, sync+poll cadence) moves to startPollerLoop, and the active-connection config policy (enabled instances keyed by trimmed connection ID, defaults applied) moves to loadActiveInstanceConfigs, both in the new platform_poller_shared.go. - monitor_polling_vm.go / monitor_polling_containers.go: traditional polling now records guest series via the existing canonical recordGuestMetric helper (io/network sentinels preserve the historical cpu/memory/disk-only behavior on this path); the source-shape guardrails in canonical_guardrails_test.go and memory_source_catalog_test.go pin the new delegation. - mock_metrics_history.go: native and TrueNAS disk seeding share one seedDiskTelemetry closure. Proof: new TestTrueNASPollerDoubleStartKeepsSingleLoop pins the shared lifecycle loop; new TestSeedMockMetricsHistory_DiskTelemetryParityAcrossNativeAndTrueNAS pins four-series parity for both disk sources. Contract Extension Points name the shared wiring layer and poller scaffold. Full internal/monitoring test suite passes.