How Errors are Grouped

Stackdriver Error Reporting groups errors which are considered to have the same root cause.

Before grouping

Before Error Reporting evaluates any error for grouping, it makes the following decisions:

  • On App Engine standard environment, errors logged with a severity lower than ERROR are ignored.
  • Stack frames which are not owned by the user are ignored (e.g. those that belong to public libraries).
  • Any repeating sequence of one or more stack frames is replaced by a single occurrence of that sequence.
  • Compiler-introduced methods and symbols are removed.


When the system is evaluating errors, it follows these general patterns:

  • Exceptions are grouped together if they have the same exception type and similar stacks.
  • The stack trace is ignored for exceptions that are typically unrelated to the source location where they occur.
  • Errors without an exception stack are grouped together if they were created by the same log statement, approximated by the source location it was reported from (reportLocation).

Specifically, the following rules are applied in the order they're listed below:

Error Type Grouped By
Errors caused by a general problem in the environment.

For example, App Engine specific problems:

Java problems:

Grouped by exception type.
Errors with a stack trace. In the case of nested exceptions, the innermost exception is considered.

For example:

runtime error: index out of range
Grouped by exception type and the 5 top-most frames.
Errors without a stack trace, but with a function name and message.

For example:

runtime error: index out of range
Grouped by the function name and message. Only the first 3 literal tokens of the message are considered. In the example to the left, these are runtime, error, and index.

Send feedback about...

Stackdriver Error Reporting Documentation