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 or come from numerous unique urls. This extra noise makes it harder to understand the source and severity of the issue. If the messages or urls have a common pattern, you can group all errors with that pattern into a single group 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. To create a rule for a specific error message, click the “Create Grouping” button on any row of the “Messages” tab, or the filtered screen. The same thing applies for creating rules for urls.

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

When creating a rule from scratch you’ll select which application the rule is for. You’ll also select which field, Message or Url. Most importantly, you’ll define a grouping pattern. All errors that match this pattern will be grouped together. You can test your pattern and see similar messages or urls that match the pattern (depending on the field selected).

Understanding Replacements

“Replacements” are used to indicate the dynamic parts of an error message or url. 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 group differently.

Named Replacements

Use ${name} to create “named replacements” in 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 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.