dennis / slipstream

ISC License
5 stars 0 forks source link

Event sequence debugging #36

Closed lawrab closed 3 years ago

lawrab commented 3 years ago

I have come across a tricky situation that is difficult to debug as it only occurs under race conditions so hard to reproduce.

I would like to record all events in sequents with timing so I can recreate the issue with simulated events.

The example I have is that the StartGo flag is shown when a race start and after it stops it seems like a blue flag is shown, this is highly unlikely and probably an error in the light controller so I would like to see all the events the next day to identify which events came around the time the light controller stopped working.

dennis commented 3 years ago

The app store the last 10.000 events in memory. I am thinking that we could make a "Save events" menu option, that stores the events as a file (each line is a json-string), which would make it easy for you to modify in hand.

And then add another "Inject events from file" menu item, that replays the events from file.

To get the timings, I am thinking that all events should be timestamped. Then we can re-create the delays as they were. The timestamp doesn't need to be date/time, but could be a "slipstream uptime" value.. So like milliseconds since launch. So when replaying we would just need to sleep as much as the deltas between events.

dennis commented 3 years ago

Implemented as of https://github.com/dennis/slipstream/pull/41