Error Reporting vous permet d'identifier, de hiérarchiser et de trier les problèmes dans vos services cloud en regroupant les événements d'erreur d'application par cause première. Un événement d'erreur représente une erreur d'application unique, en capturant son code temporel, son contexte d'exécution et son message. Error Reporting collecte les événements directement à partir de l'API Error Reporting ou les déduit en analysant les entrées de journal à la recherche de traces de pile et de schémas d'erreur courants.
Pour optimiser les performances, Error Reporting échantillonne jusqu'à 1 000 erreurs par heure et estime les nombres lorsqu'il atteint ce seuil. Si le volume d'événements dépasse la capacité, Error Reporting échantillonne jusqu'à 100 erreurs par heure et continue d'extrapoler les nombres affichés.
Quand Error Reporting analyse les entrées de journaux
Error Reporting est un service mondial basé sur Cloud Logging. Il peut analyser les entrées de journaux lorsque toutes les conditions suivantes sont remplies :
- Les charges de travail assurées sont désactivées. Pour en savoir plus, consultez Présentation d'Assured Workloads.
- Les clés de chiffrement gérées par le client (CMEK) sont désactivées sur tous les buckets de journaux qui stockent l'entrée de journal. Error Reporting ne peut pas stocker les entrées de journaux dans des buckets de journaux pour lesquels CMEK est activé. Pour savoir comment déterminer la configuration CMEK d'un bucket de journaux, consultez Vérifier l'activation des clés.
- Le bucket de journaux remplit l'une des conditions suivantes :
- Le bucket de journaux est stocké dans le même projet que celui d'où proviennent les entrées de journal.
- Les entrées de journal ont été acheminées vers un projet, puis ce projet les a stockées dans un bucket de journaux qui lui appartient.
Regroupement des événements d'erreur
Lorsque Error Reporting évalue les entrées de journal pour identifier les événements d'erreur, il ignore les données suivantes :
- Entrées de journaux écrites par l'environnement standard App Engine dont le niveau de gravité est inférieur à
ERROR. - Frames de pile qui n'appartiennent pas à l'utilisateur, comme ceux qui appartiennent à des bibliothèques publiques.
Lorsqu'une entrée de journal est analysée, Error Reporting apporte les modifications suivantes avant d'inférer les événements d'erreur :
- Remplace toute séquence répétée d'un ou plusieurs frames de pile par une seule occurrence de cette séquence.
- Supprime les méthodes et les symboles introduits par le compilateur.
Error Reporting applique ces règles, dans l'ordre spécifié, pour regrouper les événements d'erreur :
| Événement d'erreur | Critère de regroupement |
|---|---|
| Événements d'erreur causés par un problème général dans l'environnement.
Par exemple, les problèmes spécifiques à App Engine : com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Problèmes Java : java.util.concurrent.CancellationException |
Regroupement par type d'exception. |
| Événements d'erreur avec une trace de la pile : Dans le cas d'exceptions imbriquées, l'exception la plus interne est prise en compte.
Exemple : runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
Regroupées par type d'exception et par les cinq frames les plus élevés. |
| Événements d'erreur sans trace de la pile, mais avec un message.
Exemple : runtime error: index out of range
func1()Dans cet exemple, les jetons suivants sont pris en compte : |
Regroupement par message et par nom de fonction, le cas échéant. Seuls les trois premiers jetons littéraux du message sont pris en compte. |
Régionalité des données
Si vous configurez Assured Workloads pour la résidence des données ou les exigences du niveau d'impact 4 (IL4), Google Cloud désactive automatiquement Error Reporting.
Dans Cloud Logging, vous pouvez régionaliser vos journaux en les acheminant vers un emplacement spécifique. Sur la page Groupes d'erreurs, Error Reporting organise et affiche les groupes d'erreurs en fonction de la région du bucket de journaux contenant les entrées de journal. Par exemple, un groupe d'erreurs listé sous us-central1 ne contient que des journaux d'erreurs qui font partie d'un bucket de journaux dans us-central1. Les groupes d'erreurs mondiaux ne contiennent que les journaux d'erreurs qui font partie d'un bucket de journaux dans la région global.
Pour filtrer la région des groupes d'erreurs affichés sur la page Groupes d'erreurs, sélectionnez une valeur dans le menu Région. La valeur par défaut de ce menu est global.
