Skip to content

misc(error-reporting): tweak sentry levels and ignore list#3890

Merged
paulirish merged 3 commits intomasterfrom
sentry_tweaks
Nov 27, 2017
Merged

misc(error-reporting): tweak sentry levels and ignore list#3890
paulirish merged 3 commits intomasterfrom
sentry_tweaks

Conversation

@patrickhulce
Copy link
Collaborator

@patrickhulce patrickhulce commented Nov 22, 2017

now that we've had sentry in WPT and the volume shot up this makes some tweaks to make it a little more manageable

  • adjusts error levels to more clearly see which are failed audits/which are warnings/which are fatal errors
  • adds fingerprint to distinguish different protocol errors
  • samples a few known errors that happen a lot

getContext: noop,
};

const IGNORED_ERRORS = [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

afaict these two aren't even being reported to sentry. why start excluding them?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I marked the unable to load the page ones as ignore in sentry, is there a reason you want to track them?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah unable to load is ignored.

but tracingalreadystarted? is that even reported? getting a repro via CLI would be useful as it seems the only repros are with devtools/ extension

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, fair enough

just seemed like information we wouldn't actually learn anything from as we have no reason to believe it has anything to do with the URL being audited

// Ignore errors matching our shortlist
if (args[0] && IGNORED_ERRORS.some(regex => regex.test(args[0].message))) return empty;
// Only report 25% of production errors
if (!isDevelopment && Math.random() > 0.25) return empty;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have a fairly long tail of errors reported. and i'm seeing quite a few with < 3 reports that look worthwhile. this makes me hesitant to throw so many away.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we sample just the 'info' level events?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we sample just the 'info' level events?

yes good idea, but FWIW nothing is actually info yet :)

we have a fairly long tail of errors reported. and i'm seeing quite a few with < 3 reports that look worthwhile. this makes me hesitant to throw so many away.

true, I might argue that given our current outstanding issues if something is <0.1% right now we likely shouldn't be investing time to fix it

seems like we need to pick at least 1 of the following:

  • ignore more known issues (like falling out of memory cache)
  • sample events
  • upgrade our plan

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

offline we discussed sampling a safelist of known chatty exceptions

if (args[0] && args[0].expected) return Promise.resolve();
const empty = Promise.resolve();
// Ignore expected errors
if (args[0] && args[0].expected) return empty;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feels like it's about time we name the first argument (and maybe second) and spread the remaining.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fair

// Only report 25% of production errors
if (!isDevelopment && Math.random() > 0.25) return empty;
if (err.expected) return empty;
// Sample known errors that occurr at a high frequency
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

occur

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heh, done

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants