We get it — errors suck. And you don’t want to spend too much of your time fixing them, dealing with them, investigating them, etc. In our Workflow blog post series, we’ll help you optimize your, well, workflow, from crash to resolution.
To quote “the second-most frequently quoted writer in The Oxford Dictionary of Quotations after Shakespeare,” Alexander Pope, “to err is human.” There will always be errors, even in code written by the best developers.
So, instead of trying to get rid of errors altogether, perhaps the better approach is to minimize the impact of errors on the development process. By creating infrastructure and culture equipped to handle unanticipated issues, developers can (ideally) gain visibility into their code and maintain workflow momentum.
As we mentioned in the first post in this series, merging Sentry into your existing workflow — specifically the alert, triage, and resolution phases — provides the insight to work at your highest efficiency and increase accountability throughout your application lifecycle.
Alerts seamlessly transition you into the triaging phase (the focus of this post) by including a link to the Issue. We’ll wrap up the Workflow series next time with tips on tidy resolutions.
You’ve been alerted to an error — now what?
From here, the triage process includes finding the who, what, where, when, why, and how of the error. Check out the context and stack trace to gather useful insights, like the scope and impact, and aggregate data, like the number of events and trends over the last 24 hours.
Tags help you understand where your errors are coming from and who/what they are affecting by introducing a new level of issue impact specificity, including browsers, devices, environments, or releases. The tag heat map is also useful in surfacing patterns in data.
Looking at the heat map above, we can tell that the issue is happening in the production environment with people who use Chrome and Mac OS X. The issue has been in our code for the last few releases (which is highlighted). We can also make the assumption that the error is happening on a feature included specifically in our medium plan.
Look at Breadcrumbs for a better understanding of the how by uncovering a trail of events that happened in the application before the issue. Not seeing exactly what you need? Customize your Breadcrumbs, or disable them completely.
Now you have a few decisions to make. Is the error critical? If so, is it something that should be addressed now? Or can it wait?
If the issue is critical, you’ll want to get it into the hands of the right person immediately.
Suspect commits and suggested assignees
Sentry’s integrations with source code management platforms, like GitHub, Azure DevOps, Bitbucket, and GitLab, expose the when by signaling commits that likely introduced the error and suggesting a specific assignee who can most readily fix the problem.
Sometimes errors occur that you could work on, but you would rather save them for later. Maybe you don’t have the time, or perhaps the error is only happening to the ten people who use a very outdated browser. You’ll fix it eventually, but not right now.
Ignore these errors conditionally (read: snooze them), and the error will re-enter your workflow and surface when it’s actually impactful.
With the Ignore dropdown options, you can ignore for a certain period, like an hour. You can also ignore the issue until it happens with conditions, like 1000 times or to 100 users.
Not all errors are worth your time or the space in your Issues stream. These errors probably don’t have to do with your code, and there is nothing you can do about them.
Hopefully, you won’t see this error again. However, if there is an irrelevant issue that continues to occur, you can delete and discard it from the issue details page by clicking “delete and discard future events.” This will delete the issue and event data from Sentry and filter out matching events before they ever reach your stream.
By providing context that helps you answer the who, what, where, when, why, and how of the error as well as features that organize your Issues stream, Sentry efficiently streamlines your triaging process.
To learn more about how to triage effectively with Sentry, and the features that are there to help you do so, check out this blog post about some recent updates.