How are duplicate errors handled


#1

I want to understand how errors are handled once they are received by the sentry server.

Is duplication handled on the client or server end?
Is there any analysis of the actual error payload in terms of trying to determine if this error is similar to others? e.g. same error, the url happens to be different

Where in the codebase would this occur?

Thanks!


#2

This is handled by the server due to our fingerprinting logic. There’s quite a lot of code for handling it, but its roughly coupled to the interfaces. If there’s a specific question we’re happy to try to provide more information, but it wont be easy to understand by simply looking at the code.


#3

Historically the applications I have worked on send errors the old fashion way, via emails and there are tons of duplicates but sometimes there are slight variations in the errors e.g. depending on the version deployed.

I want to understand how an error is marked a duplicate, what are the factors that are taken into consideration etc.

Also, historically what would be a very rough ballbark figure of the % of unique errors to duplicates when using sentry to manage 100+ different types of applications.


#4

The short version is we use a ton of heuristics to decide on how to fingerprint an exception. This is why we embed in the application and don’t try to suck in abstract logs. In most cases this is a normalized version of the stack trace.

I can’t say anything about % of unique errors. That’s very use case specific and the margin for error is an order of magnitude.