Hey! I just noticed my app crashed while you were testing it. Can you tell me a little bit about what you were doing? I’d love to figure out how that happened.
Ever receive a crash report from a beta user, and you just wish you were there to see it happen?
Buddybuild’s crash reporting – which records crashes, frequency, and affected users – also providessource context for your app’s crashes by tracing back and highlighting the exact lines of source code that caused the crash in the first place.
Even then, it’s difficult to have crystal clear insight into what exactly was happening when the crash occurred. What was the user trying to do? What are the repro steps? Sometimes just seeing it happen is what you really need to debug a crash.
Today we’re very excited to release Instant Replay, a brand-new crash reporting feature that helps you do just that!
Instant Replay is the latest in a series of innovations we’ve released since our launch in October. And is a new component of our SDK that allows you to go back in time and see your beta user’s actions within your app right up to the moment of the crash. Instant Replay works in conjunction withsource context to offer you both the exact lines of code that caused a crash as well as the exact sequence of events that lead up to it.
Instant Replay answers a common question amongst development teams – “how did that happen?” – by showing the exact steps needed to repro a crash. No need to ask your beta testers for this again. You see it all, right from within the buddybuild dashboard.
This is great! But, how does it work?
When enabled, Instant Replay records a video of your app’s screen. The recorder stores the last 15 seconds of video at any point in time. User interactions events such as multi-touch point are also recorded from app windows and drawn on the recorded video as fingertip animations.
When a crash happens, we retrieve the Instant Replay frames from disk and attach it as part of the crash report payload sent to buddybuild.
Obvious question: overhead?
We’ve optimized Instant Replay through various different strategies to be as low-overhead as possible. Apart from the basics such as off-loading the actual video encoding to the hardware encoder, we’ve also extensively tuned the encoding parameters to keep the CPU overhead typically under 15%.
Amazing! How do I start using it?
Simply head over to your SDK settings and enable Instant Replay under the Crash Reporting section. Your next build will have Instant Replay enabled.
Now, when you receive crash reports from beta users, in addition tosource context, buddybuild will also show you the Instant Replay for that particular crash instant.