Présentation d'Error Reporting

Error Reporting regroupe les erreurs générées dans vos services cloud en cours d'exécution. Ces erreurs sont signalées par l'API Error Reporting, ou sont considérées comme des erreurs lorsque Error Reporting inspecte les entrées de journal à la recherche de modèles de texte courants tels que les traces de pile. Error Reporting regroupe les erreurs qui sont considérées comme ayant la même cause.

Cloud Logging active automatiquement Error Reporting lorsqu'un journal utilisateur ingéré correspond à l'un de ces formats.

Comme Error Reporting est un service global, il ne peut analyser que les entrées de journal stockées dans les buckets Cloud Logging situés dans la région global, où les projets Google Cloud source et de destination sont identiques, et où les clés de chiffrement gérées par le client (CMEK) sont désactivées. Si vous acheminez les journaux vers un autre projet Google Cloud, dans des buckets régionalisés ou si vous activez les CMEK, Error Reporting ne capture ni n'analyse ces journaux.

Error Reporting relève jusqu'à 1 000 erreurs par heure. Lorsque cette limite est atteinte, les comptes affichés sont estimés. Si trop d'événements sont reçus, Error Reporting échantillonne jusqu'à 100 erreurs par heure et continue à extrapoler les décomptes.

Regroupement des erreurs

Lorsque Error Reporting évalue les entrées de journal, il ignore celles qui sont associées aux conditions suivantes:

  • Dans l'environnement standard App Engine, les erreurs ayant un niveau de gravité inférieur à ERROR sont ignorées.
  • Les blocs de pile qui n'appartiennent pas à l'utilisateur sont ignorés (ceux qui appartiennent à des bibliothèques publiques, par exemple).
  • Les séquences répétées d'un ou plusieurs blocs de pile sont remplacées par une seule occurrence de ces séquences.
  • Les méthodes et les symboles ajoutés par un compilateur sont supprimés.

Ensuite, Error Reporting suit les modèles généraux suivants pour regrouper les erreurs:

  • Les exceptions sont regroupées si elles partagent le même type d'exception et présentent des piles similaires.
  • La trace de la pile est ignorée pour les exceptions qui ne sont généralement pas liées à l'emplacement source où elles se produisent.
  • Les erreurs sans pile d'exception sont regroupées si elles ont été créées par la même entrée de journal, d'après l'emplacement source depuis lequel elles ont été signalées (reportLocation).

Plus précisément, les règles de regroupement suivantes sont appliquées dans l'ordre indiqué ci-dessous :

Type d'erreur Critère de regroupement
Erreurs causées par un problème général dans l'environnement.

Par exemple, des 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.
Erreurs avec une trace de la pile. Dans le cas d'exceptions imbriquées, l'exception la plus profonde est prise en compte.

Exemple :


runtime error: index out of range
package1.func1()
      file1:20
package2.func2()
      file2:33
Regroupement par type d'exception et avec les cinq cadres les plus apparents.
Erreurs sans trace de la pile, mais avec un message.

Exemple :


runtime error: index out of range
    func1()
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. Dans l'exemple de gauche, il s'agit de runtime, error et index.

Étapes suivantes