Time-travel debugging is a really efficient way of finding the issue with your code. (original) (raw)

Loren Sands-Ramshaw’s Post

Time-travel debugging is a really efficient way of finding the issue with your code. Only certain debuggers (starting in 1976 with Smalltalk-76) can do it. Many of them use a technique called record & replay to achieve it. Record & replay makes it possible not only to step backward while debugging, but also to record your code's execution in production and replay it locally to debug it. This really helps track down hard-to-reproduce bugs. However, recording with a time-travel debugger like Undo has overhead, slowing down execution 2–5x. So it's not something you can leave on just in case—you have to turn it on for a subset of your production processes, wait for the bug to happen, and then turn it off. Durable execution, on the other hand, records all durable functions as a matter of course, in order to provide the guarantee that the function will continue executing regardless of process/machine crashes. So when you use a durable execution system like Temporal Technologies, you can take the recording of any past production execution and replay it locally to see what happened in a debugger. ✨ Read more in my latest post: https://lnkd.in/e8g88jpc

Time-Travel Debugging Production Code temporal.io

See more comments

``

Explore topics