fix(slm): show real cache freshness in device list + draw L1/L10 on card chart
1. "No recent check-in" was always shown because the row's last-check text read unit.slm_last_check (a Terra-View roster field the monitor never updates), while the live freshness lives in SLMM's cached NL43Status.last_seen. Carry that last_seen onto the unit (unit.cache_last_seen) and display it (falling back to slm_last_check). Also treat "Measure" as Measuring in the badge, to match the panel and the cache's MEASURING_STATES. 2. The dashboard card chart only had Lp + Leq datasets, so L1/L10 never drew even though the cards showed them. Add L1 (purple) and L10 (orange) datasets and feed ln1/ln2 in both the /history backfill and the live /monitor frames. Percentiles parse via numOrNull so a missing "-.-" leaves a gap (spanGaps) instead of dropping the line to 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -94,6 +94,7 @@ async def get_slm_units(
|
||||
# Legacy default from the roster field; refined from SLMM's cached status below.
|
||||
unit.is_recent = bool(unit.slm_last_check and unit.slm_last_check > one_hour_ago)
|
||||
unit.measurement_state = None
|
||||
unit.cache_last_seen = None # SLMM cache last_seen (real monitoring freshness)
|
||||
|
||||
if include_measurement:
|
||||
# SLMM's /roster carries each unit's CACHED status (last_seen,
|
||||
@@ -124,6 +125,7 @@ async def get_slm_units(
|
||||
try:
|
||||
ls = datetime.fromisoformat(last_seen.replace("Z", ""))
|
||||
unit.is_recent = ls > recent_cutoff
|
||||
unit.cache_last_seen = ls # the real freshness the monitor updates
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user