I have been using FlowStorm heavily for the past several months and it's been a game changer for me.<p>The software I'm building is very data-intensive, so I can't do full-program tracing. Instead, when I find a problem, I simply add #trace tags to the handful of spots I think may be relevant, re-eval them in the live environment and rerun the failing code. My workflow for solving even tricky-seeming issues has become so fast that fixing bugs doesn't even break me out of the flow I'm in working on whatever it is I'm building. It's really improved my productivity.<p>The performance impact of tracing has also been surprisingly light. Even when I'm tracing functions that may be called many thousands of times and producing 100,000+ time steps and testing the limits of my 12G heap (I'm generating large amounts of temporary data), the performance overhead of using FlowStorm is only barely perceptible, and in most cases it is not noticeable at all.<p>Because it's so powerful, I've also started using FS to help me read and understand code. I find it very helpful when I'm reading code to be able to click around and see the data flowing through. Overall this is just an incredibly useful tool!
Haven't tried this yet, but seems like a fantastic concept. Not shown in the landing page gifs but the "value search" and "tracking backwards in time from exception" features seem really cool. The gifs on the landing page are great but for an even bigger wow-effect maybe these features could be shown off too.<p>edit: in the Videos section there's a short value searching YouTube video linked: <a href="https://www.youtube.com/watch?v=CwXhy-QsZHw">https://www.youtube.com/watch?v=CwXhy-QsZHw</a><p>Are there similar themed time travel debugging systems for Python or JS?
I definitely identify with addressed concerns over the hassles of my go-to debug approach, viz. print statements. I have a rather intense state engine that, when things go awry, can be brutal to debug with prints. But now I am doing ClojureDart, which I know is on the FS roadmap. The state engine is stable these days, but if it misfires before you get to CLJD, forgive me if I swipe your idea and roll my own ad hoc, informally-specified, bug-ridden, slow implementation of half of FlowStorm. Maybe a tenth.