Descripción general de Error Reporting

Error Reporting recopila los errores que se producen en los servicios de nube en ejecución. La API de Error Reporting informa estos errores o se deduce que son errores cuando Error Reporting inspecciona las entradas de registro en busca de patrones de texto comunes, como seguimientos de pila. Error Reporting agrupa los errores que se considera que tienen la misma causa raíz.

Cloud Logging habilita de forma automática Error Reporting cuando un registro de usuario transferido coincide con alguno de estos patrones.

Debido a que Error Reporting es un servicio global, solo puede analizar las entradas de registro almacenadas en buckets de Cloud Logging que se encuentren en la región global, en la que los proyectos de Google Cloud de origen y de destino son los mismos y en las que están inhabilitadas las claves de encriptación administradas por el cliente (CMEK). Si enrutas los registros a un proyecto de Google Cloud diferente, a buckets regionalizados o habilitas CMEK, Error Reporting no captura ni analiza esos registros.

Error Reporting hace un muestreo de hasta 1,000 errores por hora. Cuando se llega a este límite, se estiman los recuentos mostrados. Si se reciben demasiados eventos, Error Reporting hace un muestreo de hasta 100 errores por hora y continúa extrapolando los recuentos.

Cómo se agrupan los errores

Cuando Error Reporting evalúa las entradas de registro, ignora las entradas de registro con las siguientes condiciones:

  • 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.

A continuación, Error Reporting sigue estos patrones generales para agrupar errores:

  • 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 una pila de excepciones se agrupan si fueron creados por la misma entrada de registro, aproximada por la ubicación de origen desde la que 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.

¿Qué sigue?