Error Reporting aggregates errors produced in your running cloud services. These errors are either reported by the Error Reporting API or are inferred to be errors when Error Reporting inspects log entries for common text patterns such as stack traces. Error Reporting groups errors which are considered to have the same root cause.
Error Reporting is automatically enabled.
Error Reporting samples up to 1,000 errors per hour. When this limit is reached, the displayed counts are estimated. If too many events are received, then Error Reporting samples up to 100 errors per hour and continue to extrapolate the counts.
When Error Reporting analyzes log entries
Error Reporting is a global service built on Cloud Logging and can analyze log entries when all of the following are true:
- Assured workloads are disabled. For more information, see Overview of Assured Workloads.
- Customer-managed encryption keys (CMEK) is disabled on all log buckets that store the log entry. For information about how to determine the CMEK configuration for a log bucket, see Verify key enablement.
- The log bucket satisfies one of the following:
- The log bucket is stored in the same project where the log entries originated.
- The log entries were routed to a project, and then that project stored those log entries in a log bucket that it owns.
How errors are grouped
When Error Reporting evaluates log entries, it ignores log entries with the following conditions:
- 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 (for instance, 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.
Next, Error Reporting follows these rules to group errors:
- 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 entry, approximated by the source location it was reported
from (
reportLocation
).
Specifically, the following grouping rules are applied in this order:
Error type | Grouped by |
---|---|
Errors caused by a general problem in the environment.
For example, App Engine specific problems: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Java problems: java.util.concurrent.CancellationException |
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 package1.func1() file1:20 package2.func2() file2:33 |
Grouped by exception type and the 5 top-most frames. |
Errors without a stack trace, but with a message.
For example: runtime error: index out of range func1() |
Grouped by message and (if present) function name. Only the first 3 literal
tokens of the message are considered. In the example to the left, these
are runtime , error , and index . |
Data regionality
If you set up Assured Workloads for data-residency or Impact Level 4 (IL4) requirements, then Google Cloud automatically disables Error Reporting.
In Cloud Logging, you can regionalize your logs by routing
them to a specific location. On the Error Groups page,
Error Reporting organizes and shows error groups based on the
region of the log bucket that contains the log entries. For example,
an error group listed under us-central-1
contains only error logs
that are part of a log bucket in us-central-1
. Global error groups contain
only error logs that are part of a log bucket in the global
region.
To filter the region of the error groups displayed on the Error Groups page,
select a value from the Region menu. This menu has a default value of
global
.