mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-24 04:33:17 +00:00
Integrate reviewed same-generation broadcast resource and History capture
Change-source: pulse-maintainer
This commit is contained in:
@@ -17,6 +17,36 @@
|
||||
|
||||
## Purpose
|
||||
|
||||
### Fresh broadcast projection owns one resource/target capture
|
||||
|
||||
Canonical live, fallback and standalone-host continuity broadcast reads prefer
|
||||
the adapter's detached bulk resource/metrics-target capture. After host
|
||||
coalescing selects presentation identity, missing history targets are attached
|
||||
from that same capture, including authoritative absence. Stores without this
|
||||
optional capability retain the previous point-resolver fallback. Only the owned
|
||||
outer coalesced slice is decorated in place; nested source payloads stay read-only.
|
||||
|
||||
Every read still observes complete current resource data and derives live alert
|
||||
health, metadata URL edits/clears and connected/ignored infrastructure. No
|
||||
timestamp-only cache, telemetry omission, policy change or new wire field is
|
||||
introduced. All existing catalogs, discovery/history coordinates, original
|
||||
observation times, LastSeen, identity and tenant/revocation boundaries remain.
|
||||
|
||||
`broadcast_metrics_snapshot_test.go` compares the complete served JSON with an
|
||||
independent earlier projection across the metadata-heavy nine-provider demo,
|
||||
typed-view and same-time dirty cases; it also covers captured target replacement
|
||||
and continuity/metadata/live-alert boundaries. `monitor_host_agents_test.go`
|
||||
retains its one-materialization and live-change regression. Benchmarks include
|
||||
the exact parent's complete conversion and final JSON encoding, with cold,
|
||||
list-only, typed-clean and dirty inputs; they do not establish installed CPU/RSS
|
||||
relief, native identity refresh throughput or completion of #2199.
|
||||
|
||||
Complete-content comparisons use one health-evaluation instant through a
|
||||
private clock seam. Production still samples real UTC at the same post-read
|
||||
boundary. The minute-boundary control requires age labels to advance without
|
||||
renewing LastSeen; comparisons retain every health field instead of stripping
|
||||
the reproduced `1m`/`2m` clock difference from JSON.
|
||||
|
||||
### Report identity lookups do not rebuild unrelated Kubernetes metadata
|
||||
|
||||
The producer's two temporary host/Docker-host admission registries use a
|
||||
|
||||
@@ -23,6 +23,29 @@ and sort the complete canonical change table while startup and ingestion wait.
|
||||
|
||||
## Purpose
|
||||
|
||||
### Broadcast bulk reads capture resources and history coordinates together
|
||||
|
||||
`ListWithMetricsTargets` and the monitor adapter's matching optional read return
|
||||
detached resources and a detached target map from one locked registry generation.
|
||||
The existing source-mapping inversion runs once for this read when typed views
|
||||
are dirty; it does not build all typed views or add a retained generation cache.
|
||||
Clean typed views may supply their already-current inverse mapping. Legacy List,
|
||||
GetAll and individual target reads preserve their shapes and semantics.
|
||||
|
||||
The target map stays separate from resources until presentation host coalescing
|
||||
selects the row identity. Missing coordinates remain missing in that capture;
|
||||
they never fall through to a later live registry. Mapping changes with unchanged
|
||||
LastSeen take effect on the next read. Returned resources, policy/identity blocks
|
||||
and target values remain caller-owned across mutations and adapter replacement.
|
||||
Projection cannot pair an earlier resource row with a later history identity.
|
||||
|
||||
`registry_test.go`, `registry_projection_test.go` and
|
||||
`monitor_adapter_read_state_test.go` exercise full resource/point-target parity,
|
||||
same-time edits, concurrent mapping writes, detachments, empty/nil reads and
|
||||
tenant separation. Connected monitoring proof covers all nine demo providers,
|
||||
continuity overlays and complete served JSON. Paired cold/clean/dirty benchmarks
|
||||
measure whole materialization, not a new point-lookup envelope or native relief.
|
||||
|
||||
Canonical resource History honours selected memory observation provenance and Proxmox VM filesystem deferrals instead of treating numeric carriers as fresh measurements.
|
||||
|
||||
### Canonical resource History cannot promote retained guest readings
|
||||
|
||||
Reference in New Issue
Block a user