This document is somewhat outdated. While we are working on this, please refer to Replay for New Contributors instead.
Replay.io is the first time-travel debugger for runtimes like the browser and Node.
We wrote some blog posts outlining how it worked, covering the basics of how we record OS syscalls, use โeffective determinismโ to minimize the data needed, and turn browser processes in the cloud into a public API that can be used to introspect a programโs behavior:
Thereโs also a recent set of posts talking about the โeffective determinismโ aspect in more detail, including how we can replay the full browser behavior with a relatively small recorded set of input data, and how we investigate โruntime mismatchโ errors internally:
For some additional details, see these docs pages:
Our approach for source maps How programmatic recordings workFor examples of how the Replay Protocol API is used, see the actual Replay DevTools client repo, the Replay Protocol API Examples repo, and the Protocol API docs