mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-19 10:33:29 +00:00
The 2026-08-25 audit follow-up profiled the remaining frontend costs on the 50-node mock rig. Entering a tab more than one websocket tick behind the shared cache fell off the incremental path onto a full-estate deep-unwrap merge — a 2.1s unwrap dominated warm Alerts entry at 4x throttle — and the client-facing resource stream re-shipped ~3KB of mostly-static metadata per resource on every snapshot, REST recovery, and reconnect (governed gap resource-payload-static-metadata). The connection store now keeps a bounded per-tick changed-id history and serves unions from it, so an instance that mounts or resumes a few revisions behind catches up with a delta merge over the union instead of remerging the estate. Uncovered gaps and full-snapshot commits still fall back to keyed full reconciliation. Broadcast payloads dedupe the estate's distinct capability blobs into a content-addressed state-level capabilityCatalog referenced per resource by capabilitiesRef; default-posture resources (internal sensitivity, cloud-summary routing, no redactions) omit policy and aiSafeSummary; and canonicalIdentity.aliases no longer duplicates supersededIds. Ingestion reverses all three: refs expand through the catalog as per-row clones (reconcile mutates adopted objects in place), missing policies synthesize the default posture so a policy:null transition patch cannot strand a stale governed policy, and identity alias resolution consults supersededIds explicitly. Slimming edits only the per-broadcast copy, never stored monitor state, and the delta engine's generic top-level field diff carries catalog changes in the same frame as the first resource referencing a new entry. Rig A/B on the pinned 50-node mock (same VM as the morning baseline, single runs, +-30% variance; RandomMetrics mutates nearly every row per tick, so this estate is the worst case for the catch-up union): mobile 4x Alerts entry settles 3.9s -> 2.0s with long tasks 5.5s -> 3.3s, idle-30s long tasks drop 12.6s -> 10.8s mobile and 3.4s -> 2.8s desktop, remaining steps flat within variance. Sparse-delta estates gain more, because their catch-up unions stay small. /api/state on the pinned mock estate drops 4.75MB -> 4.09MB (-13.9%); the capability catalog is 7 entries totalling 2.5KB where 946 resources previously inlined the blobs, and 806 default-posture resources shed policy and aiSafeSummary. Browser-verified against a live build of this tree: byte-identical UI outcomes vs the unmodified baseline across overview/storage/docker/alerts probes at both viewports, with docker container lifecycle actions enabled through catalog-expanded capabilities. pulse-mobile and pulse-enterprise do not read the slimmed fields; the AI runtime consumes the internal model, which is unchanged. Contracts for monitoring, api-contracts, unified-resources, performance-and-scalability, alerts, agent-lifecycle, and storage-recovery are amended with the slimmed wire shape, the ingestion synthesis obligations, the catch-up history, and superseded-id resolution. |
||
|---|---|---|
| .. | ||
| account_roles.go | ||
| backup_in_progress_test.go | ||
| ceph_cluster_identity.go | ||
| ceph_pool_storage_test.go | ||
| concurrency_test.go | ||
| converters.go | ||
| converters_additional_test.go | ||
| converters_branchcov0718_test.go | ||
| converters_test.go | ||
| deepcopy.go | ||
| deepcopy_branchcov0724pm_test.go | ||
| deepcopy_clone_independence_w0716_coverage_test.go | ||
| deepcopy_test.go | ||
| disk_summary.go | ||
| disk_summary_test.go | ||
| docker_cpu.go | ||
| docker_cpu_test.go | ||
| host_transient_expiry_test.go | ||
| issue1639_pbs_collision_test.go | ||
| memory_availability_test.go | ||
| metrics_types.go | ||
| metrics_types_branchcov0724pm_test.go | ||
| metrics_types_test.go | ||
| models.go | ||
| models_collections_branchcov0716_test.go | ||
| models_core_branchcov0718_test.go | ||
| models_deepcopy_branchcov0716_test.go | ||
| models_frontend.go | ||
| models_frontend_branchcov0718_test.go | ||
| models_frontend_test.go | ||
| models_helpers_test.go | ||
| models_removed_hosts_branchcov0716_test.go | ||
| models_roles_branchcov0716_test.go | ||
| node_aliases_test.go | ||
| organization.go | ||
| organization_additional_test.go | ||
| profile_validation.go | ||
| profile_validation_additional_test.go | ||
| profile_validation_test.go | ||
| profiles.go | ||
| proxmox_guest_state.go | ||
| pve_node_identity_test.go | ||
| snapshot_provider.go | ||
| state_additional_test.go | ||
| state_docker_test.go | ||
| state_host_test.go | ||
| state_snapshot.go | ||
| state_snapshot_additional_test.go | ||
| state_snapshot_concurrency_test.go | ||
| state_snapshot_frontend_test.go | ||
| state_snapshot_merge_test.go | ||