Esta página se ha traducido con Cloud Translation API.
Switch to English

Cómo se agrupan los errores

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.