Every issue tracked through Noibu is assigned an error signature. Error signatures are unique strings that identify errors. Ideally, each error signature should correspond to a unique problem and be resolved by a single fix, like a code change, configuration change, or infrastructure update.
Aside from being a descriptive starting point for the debugging process, error signatures serve to group disparate instances of the same error and prevent Noibu from logging duplicates. Due to the complex nature of the internet, an error can look drastically different based on when it appears, which page it appears on, and the device you're using. For example, the same error can look completely different on two separate browsers.
If Noibu counted every disparate appearance of the same error as a unique issue, your platform would be clogged with thousands of erroneous errors, and it would be nearly impossible to estimate the total ROI lost to the same root issue. Instead, Noibu has developed an algorithm to group disparate occurrences of the same error under a unique error signature.
Our error signature algorithm creates error signatures based on several factors, and the process differs between HTTP and JavaScript errors.
HTTP Error Signatures
Our HTTP error signatures follow the format: <Error code> - <parsed URL on which the error occurred>
Our algorithm follows several rules when parsing URLs to avoid creating too many unique errors from the same root cause. For instance, if the same issue occurs on multiple pages, we don't want to log a unique error on each product page. Our methods for parsing URLs are constantly being improved.
JavaScript Error Signatures
Our JS error signatures follow the format: <filename> : <error message>
The filename refers to the first available filename or method name in the Stacktrace. We parse the filenames and method names to make sure they are general enough to capture multiple instances of the same error, or similar errors that should be resolved with a single fix.
We're constantly actioning improvements to Noibu's error signature algorithm, but its current behaviour isn't perfect. In some scenarios, the algorithm may fail to group identical issues, or group issues that are better left as separate errors. If you find any mistakes with how issues are grouped, please reach out! We value your feedback, and your help can only make the algorithm better.