So in my last blog I talked about how I set up a system to auto-report crashes from Unity to our servers. How to grab the stack trace and group them all up.
It was working great but it was missing a couple of things.
Say I get a crash that gets reported 10,000 times.. I want to break that down to find out what OS it’s happening on, what GPU, how much memory etc etc. This is useful when debugging crashes because if a crash is only happening on Windows XP it really narrows shit down for creating a repro.
Also, say I fix a crash. I want to be able to tell I fixed it. What’s useful here is a graph of the number of types of report over time.
So we already use Sentry for out exception reporting. It’s incredibly useful and I can’t recommend it enough.
And this is the exact system we want to use for our crash reporting. So instead of coding a whole new web system and working out the database layout and all that shit, I just fire our crashes into it.
I parse the output log to work out the graphics card and stuff. And it works great.
We have a list of crashes here, organised however we want.
A graph with how often the crash has occurred, segmented by hour and day.
The tag page shows how many reports per crash. Here you can see it’s picking up older crash logs too (which tells us that this crash has been happening for a while).
This tag shows us that this crash pretty much is DX11 exclusive.
So this has done everything we wanted and took less than 30 minutes to set up. Sometimes coding is less about what you do, and more about what you don’t do.