Skip to content

Instantly share code, notes, and snippets.

@ChuckJHardyGA
Last active October 10, 2016 14:25
Show Gist options
  • Save ChuckJHardyGA/a34a8790d0c126e1bafa962beba7ea4d to your computer and use it in GitHub Desktop.
Save ChuckJHardyGA/a34a8790d0c126e1bafa962beba7ea4d to your computer and use it in GitHub Desktop.
Error Management in Core Presentation

Error Management in Core

ENG-25 "The Pause™"

  • Chuck Hardy
  • Hari Mohanraj
  • Graham Phakos

Before "The Pause™"

  • ≈ 10K exceptions per week (not all showing in tools)
  • ? exceptions that might be issues we can action

So what?

  • Reported exceptions !== actual issue (untrusted, unused tools)
  • Ignoring of exception reports over time
  • Decreased reaction time
  • Users reported issues before we noticed our systems did
  • Contributors did not notice negative impact
  • Developer happiness reduced
  • We look incompetent (I feel)

After "The Pause™"

ss

  • < 100 exceptions per week (all showing in tools)
  • < 5 exceptions that might be issues we can action (will reduce now that we have visibility)

Also...

  • Additional reporting added (Honeybadger, NewRelic, Librato)
  • Code Climate GPA increased
  • Test coverage increased
  • Technical debt reduced

So what?

  • Reported exceptions === actual issue (trusted, use tools)
  • Exception reports are no longer ignored
  • Increased reaction time
  • Users report issues when we are going out with the fix
  • Contributors notice any negative impact immediately
  • Developer are happier
  • We look competent

Now what?

  • We are in a far better place now than before
  • We need to keep working on fixing common exceptions
  • Don't get into this situation again

What can you do?

  • Exceptions should be rare, don't ignore them, ever!
  • If you raise an exception on purpose, ensure it matches what actually is happening and give as much detail as possible. (Sell the Why)
  • Take responsibility for issues you cause. Don't rely on Foundry to fix them down the line
  • Don't only test (unit or functional) the happy path
  • Keep an eye out for possible issues for a few days after your release
  • If you think you might have caused a reported issue, say something
  • As a reviewer be sure to look out for these points

Finally

Your objective is to release to Production without negative impact or additional technical debt. We are now in a situation where the exception reporting tools will help achieve this objective.


Questions

ss

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment