Grouping Errors

We help you find and fix bugs by capturing as many different errors as possible. Sometimes though, a single bug can cause many different error messages. This extra noise makes it harder to understand the source and severity of the issue. If the messages have a common pattern, you can group all errors with that pattern into a single grouped message using a “grouping rule”.

Viewing Rules

If you go to the grouping rule administration page you’ll see a list of all current grouping rules, and the number of errors which matched the rule in the past 24 hours or so.

Creating a Rule

There are a number of ways to create a grouping rule. The easiest is to click the Create Grouping button on either the message group screen, or the filtered screen.

Message Grouping Screen

Navigate to the top level messages grouping screen. As you hover over an error row, you’ll see a few action icons appear. Clicking the Group action will bring you to a rule creation screen with the current message pre-populated. Some replacment suggestions also appear if we find any patterns in your data.

Filtered to Message Screen

If you drilled in to an error by message, you can also create a group from that filtered page.

Create a Rule From Scratch

A rule can always be created from scratch at any time by navigating to the grouping rule administration page.

Create the Rule

The “Message Pattern” is the key field in a grouping rule. All errors that match this pattern will be grouped together.

Understanding Replacements

“Replacements” are used to indicate the dynamic parts of an error message. They are lazy wildcard regex matches. There are two types of replacements, named and hidden. They both have the same matching behavior, but affect the resulting message group differently.

Named Replacements

Use ${name} to create “named replacements” in message groups. For example, say you haved the following errors:

You could create a grouping User ${userId} failed login that will match both (or all) of those errors and combine them in to a single UI entry with the message, “User ${userId} failed login”.

Hidden Replacements

Use an empty ${} to create “hidden replacements” in message groups. For example, say you haved the following errors:

Some browsers prefix the error type, and some do not. Creating a group like ${}undefined is not a function will result in a single message in the UI with the message, “undefined is not a function”. We drop the empty ${} replacement sections from the visible message.