Error Reporting agrupa los errores que se considera tienen la misma causa raíz.
Antes de agrupar
Antes de que Error Reporting evalúe un error para agrupar, toma las siguientes decisiones:
- En un entorno estándar de App Engine, se ignoran los errores que se registran con una severidad menor que
ERROR
. - Se ignoran los marcos de pila que no son propiedad del usuario (p. ej., aquellos que pertenecen a bibliotecas públicas).
- Cualquier secuencia repetida de uno o más marcos de pila se reemplaza por un único caso de esa secuencia.
- Se quitan los métodos y símbolos ingresados por el compilador.
Agrupación
Cuando el sistema evalúa errores, sigue estos patrones generales:
- Las excepciones se agrupan si tienen el mismo tipo de excepción y pilas similares.
- El seguimiento de pila se ignora para excepciones que comúnmente no se relacionan con la ubicación de origen en que sucedieron.
- Los errores sin ninguna pila de excepciones se agrupan si fueron creados por la misma instrucción de registro, calculado por la ubicación de origen de la cual se informó (
reportLocation
).
En específico, las siguientes reglas de agrupación se aplican en este orden:
Tipo de error | Agrupado por |
---|---|
Errores provocados por un problema general en el entorno.
Ejemplos de problemas específicos de App Engine: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Problemas de Java: java.util.concurrent.CancellationException | Agrupado por tipo de excepción. |
Errores con seguimiento de pila. En el caso de excepciones anidadas, se considera la excepción más interna.
Por ejemplo: runtime error: index out of range package1.func1() file1:20 package2.func2() file2:33 | Agrupado por tipo de excepción y los 5 marcos principales. |
Errores sin seguimiento de pila, pero con un mensaje.
Por ejemplo: runtime error: index out of range func1() | Agrupado por mensaje y (si existe) nombre de función. Solo se consideran los primeros 3 tokens del mensaje. En el ejemplo de la izquierda, estos tokens son runtime , error y index .
|