Telemetry Capture & Replay
I've implemented telemetry capture and replay debug components. The long-term goal is to make race engineering easier and part of the process will require some proper debug tooling. The introduction of the tooling also required a little bit of a rethink around how Plugins & Connectors are started & stopped. While this change is significant, I had to go about a bit of a refactor to introduce the ability to enable/disable Connectors in the same way Plugins can currently be configured.
I shared these diagrams earlier in a different conversation, but I'm including them for the sake of completeness.
Core data architecture before:
Notice the introduction of the CapturedTelemetryConnector
for replaying captured telemetry and the RawTelemetryCapturePlugin
for capturing raw telemetry. Each data snapshot is serialised to binary using Protobuf and directly written to disk. I'm not sure if the data would compress nicely, but for a first stab I'm happy being able to capture some data to then replay during testing.