41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
# Fleet metric repair — qualification in progress
|
|
|
|
## Confirmed cause
|
|
|
|
The federation.get-state handler passed literal zero values for CPU, RAM, disk
|
|
and uptime into build_local_state. Peers therefore received a valid signed RPC
|
|
response containing fabricated measurements. Fleet also turned absent fields
|
|
into zeroes and treated a newly added peer's registration time as a report.
|
|
Read-only live inspection on the dev node found fifteen federation reports with
|
|
zero resource values, alongside two nonzero collector reports. Yaya has no
|
|
Trusted fleet reports; peer (Observer) access is deliberately distinct.
|
|
|
|
## Candidate change
|
|
|
|
- Use the existing minute MetricsStore sample, avoiding expensive per-peer probes.
|
|
- Samples older than three minutes or ahead of the local clock are unavailable.
|
|
- Read uptime from the host uptime source; errors remain unavailable.
|
|
- Preserve optional measurements through federation and the Fleet response.
|
|
- Display unavailable measurements separately from valid zeroes; average only
|
|
valid measurements from reporting online nodes.
|
|
- Do not infer contact from when a peer was added. Invalid/future report dates
|
|
show unknown status; offline cards state when the last report arrived.
|
|
- Keep existing trust restrictions and signed FIPS-preferred federation transport.
|
|
This change does not claim FIPS media-stream acceptance or fix stalled peering.
|
|
|
|
## Qualification
|
|
|
|
All 1,684 backend tests pass (four ignored), including actual-handler fresh,
|
|
absent, stale and future sample coverage. All 11 Fleet helper/component tests
|
|
pass, including real-zero versus missing values, malformed/future dates,
|
|
ordering, averages and rendered unavailable/offline states. Frontend typecheck
|
|
passes. The first component assertion incorrectly expected spaces between
|
|
separate elements; it was corrected to inspect those elements. No deployment
|
|
or live metric repair acceptance yet.
|
|
|
|
Required: actual-handler fresh/absent/stale/future samples; full relevant suites;
|
|
mobile/desktop browser layout; upgraded sender and receiver comparing local
|
|
Monitoring to received Fleet values; restart/reconnect, offline ageing and real
|
|
transport evidence. Legacy senders still advertising zeros need the sender fix;
|
|
the receiver cannot reliably distinguish a legacy fabricated zero from idle CPU.
|