prop/lib/microwaveprop_web
Graham McIntire 9bf96349ad
perf(telemetry): cut hot-path overhead on scores_at cache hits
Three small wins from a telemetry audit:

1. Propagation.scores_at/3 wrapped every call in Instrument.span, firing
   two handler dispatches that dominated the ~10µs ETS lookup on cache
   hits. The map's LiveView fires this on every pan + point-click, so
   hot-path latency was mostly telemetry. Span now wraps only the miss
   branch (where disk IO makes the duration signal meaningful); hit path
   still emits the cheap hit/miss counter the cache-ratio panel reads.

2. Oban queue-depth poller: 10s → 30s. Every replica independently
   GROUP-BYs oban_jobs, so each extra replica paid ~3 redundant queries
   per minute for a gauge that moves on the hour-scale anyway.

3. Dropped summary(phoenix.endpoint.start.system_time): summarizing a
   wall-clock timestamp produces no useful aggregate — stop.duration
   below it is the meaningful signal.
2026-04-20 16:12:01 -05:00
..
components chore(branding): rename site to "Microwave Propagation" 2026-04-18 16:18:21 -05:00
controllers feat(auth): self-service password reset 2026-04-18 08:42:35 -05:00
live feat(status): show radar enrichment progress alongside HRRR/Weather/Terrain/IEMRE 2026-04-20 14:12:22 -05:00
plugs fix enrichment 2026-04-02 15:30:41 -05:00
endpoint.ex chore(logs): skip HEAD requests in endpoint telemetry log 2026-04-18 10:22:48 -05:00
gettext.ex initial 2026-03-28 11:28:47 -05:00
live_table_footer.ex Show windowed page list in live_table footer 2026-04-13 10:02:19 -05:00
metrics_plug.ex fix(metrics): serve scrape body via PromEx.get_metrics 2026-04-18 16:50:37 -05:00
router.ex feat(telemetry): PromEx Prometheus exporter at /metrics 2026-04-18 16:39:39 -05:00
skew_t.ex Rename ERA5 → NARR across the codebase 2026-04-16 09:22:23 -05:00
telemetry.ex perf(telemetry): cut hot-path overhead on scores_at cache hits 2026-04-20 16:12:01 -05:00
user_auth.ex Beacon power in mW, settings tweaks 2026-04-08 12:45:35 -05:00