How Software Developers Can Sleep Easier At NightPosted May 6, 2016 | 5 min. (909 words)
It’s 3am. You awake in a daze, not knowing which day it is. Something woke you, and it wasn’t a bad dream, you weren’t too hot, too cold or too hungry to sleep.
It was your phone.
Suddenly your dreams have turned into a nightmare, only you’re awake and have to deal with it rather than return to your restful slumber.
That dreaded ring of the phone or alert in the middle of the night means that your website is down, and your colleagues are already calling, with eyes are on you to fix this issue fast! For every moment of downtime, you add a layer to the cake of angry support requests, team members asking you what’s wrong and people searching for answers. Sound familiar?
Alerts are one thing, but as you sit down at your computer, the reality becomes more real, something is broken and you need to find out what and where quickly. How do we identify where an issue stems from in order to minimise downtime and fix the issue as fast as possible? Perhaps even fix it like Superman and go back to sleep before people even notice.
This is where your DevOps tool chest can be of most value.
Software developers can fix issues faster with intelligent error monitoring
Automatic error monitoring and crash reporting is becoming more and more common for modern software development teams. When issues occur in your application, you can not only be alerted in real time to the problem occurring, but also view deep diagnostic details about the error in order to fix it quickly.
A tool like Raygun Crash Reporting can be implemented in under five minutes with a few short lines of code. Deploy your app into production and let Raygun silently keep a watchful eye on your applications to detect issues and raise them into your development workflow.
When you’re trying to debug an issue at 3am, you’ll be glad to have a service like Raygun in place. It’s no good using a fire extinguisher on a building that’s already burnt down, and the same goes for your code, add in preventative protection now and be prepared.
Get automatic error reports sent to your Raygun dashboard
You can monitor any programming language and platform using an error monitoring tool like Raygun, so your entire development stack has visibility on problems as they arise.
Here you’ll see an issue has been detected in our application, and it has been added to our Raygun dashboard.
Raygun has smart notifications, so rather than flood our inbox with notifications, we can be notified to a critical error, only if the error rate is increasing. We also get a trend graph over time alongside filtering when searching for a specific error occurrence.
So if an error had occurred 5,000 times and affected 5,000 users, we’d still only be receiving a few email notifications alerting us and keeping our inbox clear.
Clicking on the error brings up full diagnostic details, so that we can work out where the problem is occurring, right down to the line of code it happened on.
Operating systems, browsers, devices, environments and even the specific users that were affected can all be viewed. No more log files to search through – win, and you’ll be able to pinpoint the issue in a few seconds rather than minutes……or hours!
Managing customer support when things go bad
A clever trick here is that once we have fixed the issue using the diagnostic reporting, it might be time to loop in the support team on announcing that the issue has been resolved. Announcing this on social media or to all users could be detrimental to your customer base, so another neat trick Raygun can do is tell you exactly which users were affected by the issue, so you can apologize to those users directly using their email address or on social media, keeping disruption to a minimum.
Ever received a random email from a service provider apologizing for problems and downtime – that we wouldn’t have even known about had they not told us, but these companies obviously don’t have the ability to see which users were affected specifically, so had to announce their problem to everyone.
Alerts that make sense can save your sanity
If you don’t already have alerting in place, chances are you’ve either been lucky not to have a serious problem to deal with whilst not your computer, or it’s just a matter of time until you do. Services like PagerDuty and VictorOps can help here, alerting you to a problem within a few minutes.
As luck would have it, Raygun also integrates with these services, plus others like Slack, JIRA and HipChat so you can easily pull errors into your team’s workflow and discuss them, with all the contextual information included alongside it.
Rather than just getting woken up to a screaming phone alert to an issue, you can get intelligent alerting that only fires when an issue has been recurring multiple times. Sleepy time – maximized!
How many issues are currently in your applications that you aren’t even aware of? Raygun can help you identify those issues that only happen in production and once all of this is setup, you can ensure you sleep soundly, knowing your applications are protected from unexpected issues and you can fix things as fast as possible if disaster strikes.