Skip to main content

Overview

The SDK data layer includes record() and replay() utilities that let you capture live samples to disk and replay them later. Replayed samples flow through the same backend as live data, re-triggering any active hooks and subscribers.

Quick start

Recording

record() returns a RecordingSession context manager. It subscribes to the specified channels using policy="fifo" and writes every incoming sample to per-channel .bin files inside the target directory.
The recording directory contains:

Replay

replay() reads a recording directory and publishes each sample back through the backend, preserving inter-sample timing.

Replay timeline markers

stub: Replays with video now expose historical alert markers and selected telemetry markers on the timeline. Operators can filter those markers and the replay tracks by twin while reviewing live-originated and simulation-originated sessions.

Portability

Recordings are plain files with no backend-specific data. You can record on one backend (e.g. Zenoh) and replay on another (e.g. filesystem), or transfer recordings between machines.