Error grouping

Raygun groups errors to give you a manageable list of bugs to help you identify and prioritise issues.

We use a grouping hasher that reads different parts of an error instance in order to group them together. We have different grouping methods available to suit your application’s error reporting patterns. To find out which grouping hasher your application is currently using, go to your application’s Crash Reporting settings.

Error grouping settings in Crash Reporting

Provider based grouping

Most providers have a grouping hasher that groups exceptions based on the exception type plus class name and method name of each line in the stack trace. This means any two exceptions that occur in the same point of code would be grouped together. The hasher also groups errors based on details specific to each language. We are continuously improving our hashers for each provider, so make sure to update your error grouping hasher to the latest version to benefit from the most recent updates. When you first send data, Raygun will assign a hasher based on the data being sent through. It will assign the latest version of the hasher for the provider it has recognised.

New hasher version available in Error grouping settings

In the case a provider doesn't have a specific hasher, such as custom providers, it will be assigned a general basic hasher, which groups errors using the same methods as the provider based hasher, but without the language-specific logic.

Message based grouping

Message based hashing purely groups errors by error message, two errors with the same message will be grouped.

Custom error grouping

You can also set up custom error grouping to define your own grouping logic. Custom error grouping acts as an override for the current hasher being used. Custom error grouping is set up on the provider side in your code, by creating a grouping key, that will be passed to Raygun on the error payload. The grouping key can be applied to all error payloads by implementing it globally, or by applying it only in particular areas of the code. If a grouping key is not provided in the payload the error will be grouped by the Raygun hasher.

The logic you set for your own grouping is completely customisable, you can use any information from the error payload, or even data in your own app. The provider will send Raygun the grouping identifier to group the errors accordingly.

For specific details on the implementation of custom error grouping for each provider, you can read through the docs on our open source provider repositories' on our GitHub.

note: Custom error grouping is an advanced feature and can be difficult to get right, we recommend only using this as a last resort.

Monitor your error groups by setting up Alerting, and get notified for particular situations that require your attention. Setting up alerts for your error groups can help you prioritise bugs and spot incidents quickly.