Fighting Game · Guides & deep dives

Telemetry Debug Mode

and the build configuration is development, test, qa, or staging.

3sections1 minread

On this page

Phase 72.5.1.10 adds @v2/telemetry-debug-mode, the development-only verbose logging layer for telemetry event inspection.

Development Logging#

debugTelemetryBatch logs every event in a telemetry batch when enabled: true and the build configuration is development, test, qa, or staging. Each TelemetryDebugRecord contains the batch ID, producer, topic, event ID, session ID, sequence, critical flag, payload schema version, sanitized payload, and a deterministic single-line message produced by formatTelemetryDebugRecord.

Use MemoryTelemetryDebugSink for tests and local tooling. Runtime adapters can forward each record line to engine logging, but the package itself stays pure and does not write to process-global console output.

Release Safety#

resolveTelemetryDebugModeConfig normalizes build names and always disables debug logging for release, production, and shipping builds. A requested release build returns release-build-disabled, logs zero events, and writes nothing to the configured sink. Debug mode is opt-in; unrequested development builds return debug-mode-disabled.

Payload Hygiene#

sanitizeTelemetryDebugPayload redacts forbidden ingestion fields, token fields, password fields, secret fields, raw log lines, email, IP address, and platform user identifiers before log formatting. Long string values are truncated to maxPayloadValueCharacters, and includePayload: false emits metadata-only records for safer local captures.

Targeted verification:

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