Error Reporting agrega los errores producidos en tus servicios en ejecución en la nube. La API de Error Reporting informa estos errores o se infiere que son errores cuando Error Reporting inspecciona entradas de registro en busca de patrones de texto comunes, como seguimientos de pila. Error Reporting agrupa los errores que se considera tienen la misma causa raíz.
Cloud Logging habilita Error Reporting de forma automática cuando un registro de usuario transferido coincide con cualquiera de estos patrones.
Debido a que Error Reporting es un servicio global, solo puede analizar las entradas de registro que se almacenan en buckets de Cloud Logging que se encuentran en la región global
, en la que los proyectos de origen y de destino de Google Cloud son los mismos, y donde las claves de encriptación administradas por el cliente (CMEK) están inhabilitadas.
Si enrutas registros a un proyecto de Google Cloud diferente, 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 ninguna pila de excepciones se agrupan si fueron creados por la misma entrada 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 . |