Fighting Game · Guides & deep dives

Telemetry Event Replay

records with reconstructTelemetryEventFromWarehouseRow, and groups them with

2sections1 minread

On this page

Phase 72.5.1.11 adds @v2/telemetry-event-replay, the historical replay path for re-ingesting warehouse.v2_telemetry.events through updated telemetry pipeline code.

Replay Flow#

runTelemetryEventReplayOnce pulls bounded warehouse rows from a TelemetryReplaySource, validates each row, reconstructs TelemetryEvent records with reconstructTelemetryEventFromWarehouseRow, and groups them with buildTelemetryReplayBatchesFromRows. Replay batches use deterministic UUIDs, the v2-telemetry-event-replay producer, preserved event IDs, and offlineReplay: true.

TelemetryIngestionEndpointReplayTarget submits each replay batch to the normal /v2/telemetry/ingest endpoint, so updated ingestion, queue, transform, and warehouse code receive the same TelemetryEventBatch contract as live traffic.

Safety#

Payload JSON must parse to scalar telemetry payload values and match the stored payload SHA-256 before replay. Invalid rows are sent to deadLetter and do not block valid rows in the same run. Replay is bounded by maxRowsPerRun and maxEventsPerReplayBatch so historical backfills can be chunked safely.

Targeted verification:

bash
pnpm --filter @v2/telemetry-event-replay run typecheck
pnpm --filter @v2/telemetry-event-replay run test
python V2/ue/Tools/check-v2-telemetry-event-replay.py