Community MQTT publishes naive local timestamps causing observer clock clamp warnings #202

Closed
opened 2026-10-05 02:03:23 +02:00 by adam · 2 comments
Owner

Community MQTT currently emits ISO timestamps without timezone information for raw packet observations and status payloads. On hosts running in a non-UTC timezone, downstream community observers interpret these as zone-less local time and detect the observer clock as offset from UTC.

This triggers following warning in Corescope:
⚠️ Naive observer clock — timing is being clamped This observer is emitting zone-less local-time timestamps and its clock is currently 2.0h ahead of UTC. We have recorded 1147 clamp events in the last 24 hours (most recent: 6/5/2026, 8:00:29 AM). Per-packet rxTime for this observer is being collapsed to ingest time, which muddies propagation-delay analytics. Fix: set the observer host clock to UTC, OR have the observer script emit Z-suffixed (datetime.now(timezone.utc).isoformat()) or offset-aware timestamps. The chip and this banner clear automatically once 24 hours pass without a new clamp event.

Impact:

  • per-packet rxTime is collapsed to ingest time by the downstream observer
  • propagation-delay analytics become less reliable

Expected behavior:
RemoteTerm should emit timezone-aware UTC timestamps for Community MQTT payloads, preferably Z-suffixed ISO-8601 strings.

Community MQTT currently emits ISO timestamps without timezone information for raw packet observations and status payloads. On hosts running in a non-UTC timezone, downstream community observers interpret these as zone-less local time and detect the observer clock as offset from UTC. This triggers following warning in Corescope: `⚠️ Naive observer clock — timing is being clamped This observer is emitting zone-less local-time timestamps and its clock is currently 2.0h ahead of UTC. We have recorded 1147 clamp events in the last 24 hours (most recent: 6/5/2026, 8:00:29 AM). Per-packet rxTime for this observer is being collapsed to ingest time, which muddies propagation-delay analytics. Fix: set the observer host clock to UTC, OR have the observer script emit Z-suffixed (datetime.now(timezone.utc).isoformat()) or offset-aware timestamps. The chip and this banner clear automatically once 24 hours pass without a new clamp event.` Impact: - per-packet rxTime is collapsed to ingest time by the downstream observer - propagation-delay analytics become less reliable Expected behavior: RemoteTerm should emit timezone-aware UTC timestamps for Community MQTT payloads, preferably Z-suffixed ISO-8601 strings. <!-- github-sync-id:4595536229 -->
adam closed this issue 2026-10-05 02:03:23 +02:00
Author
Owner

Getting the same thing on my end. I'm not seeing a way to adjust timing in the MQTT settings, it needs to be hard coded in.

Getting the same thing on my end. I'm not seeing a way to adjust timing in the MQTT settings, it needs to be hard coded in. <!-- github-comment-id:4633890950 -->
Author
Owner

Getting the same thing on my end. I'm not seeing a way to adjust timing in the MQTT settings, it needs to be hard coded in.

Opened PR #280 that should solve it, hopefully it gets merged!

> Getting the same thing on my end. I'm not seeing a way to adjust timing in the MQTT settings, it needs to be hard coded in. Opened PR #280 that should solve it, hopefully it gets merged! <!-- github-comment-id:4635234847 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/Remote-Terminal-for-MeshCore#202