Dépannage d'Error Tracking

Si Error Tracking présente un comportement inattendu, les étapes de dépannage ci-dessous peuvent vous aider à résoudre rapidement le problème. S’il persiste, contactez l’assistance Datadog.

Datadog recommande de mettre régulièrement à jour les bibliothèques de tracing de Datadog, les SDK mobiles et web, car chaque nouvelle version apporte ses améliorations et ses correctifs.

Les erreurs sont introuvables dans Error Tracking

Logs

Assurez-vous que le message d’erreur possède les attributs requis et qu’Error Tracking est activé pour les logs.

Cet exemple de requête recherche les logs répondant aux critères d’inclusion dans Error Tracking.

APM

Pour être traitée par Error Tracking, une span doit présenter les caractéristiques suivantes :

  • error.type
  • error.message
  • error.stack

Remarque : la pile doit comporter au moins deux lignes et un cadre significatif (un cadre avec un nom de fonction et un nom de fichier dans la plupart des langues).

Seules les erreurs provenant de spans d’entrée de service (les spans de service les plus élevées) sont traitées par Error Tracking. Error Tracking capture principalement les exceptions non gérées, et ce comportement est mis en place pour éviter de capturer les erreurs gérées en interne par le service.

Cet exemple de requête recherche les spans répondant aux critères d’inclusion dans Error Tracking.

Solutions pour la remontée des erreurs de spans enfants au niveau des spans d’entrée de service

Certains traceurs permettent d’accéder à la span racine et de remonter l’erreur du statut d’enfant à celui de racine.

final Span span = GlobalTracer.get().activeSpan();
if (span != null && (span instanceof MutableSpan)) {
    MutableSpan localRootSpan = ((MutableSpan) span).getLocalRootSpan();
    // utiliser la span racine
    localRootSpan.setTag("<TAG>", "<VALUE>");
}
context = tracer.get_call_context() 
root_span = context.get_current_root_span() 
root_span.set_tag('<TAG>', '<VALUE>') 
current_root_span = Datadog.tracer.active_root_span
current_root_span.set_tag('<TAG>', '<VALUE>') unless current_root_span.nil?

RUM

Error Tracking ne traite que les erreurs envoyées avec la source custom, source ou report et contenant une stack trace. Les erreurs envoyées avec une autre source (comme console) ou envoyées depuis des extensions de navigateurs ne sont pas traitées par le suivi des erreurs.

Cet exemple de requête montre les erreurs du RUM qui répondent aux critères d’inclusion dans Error Tracking.

Aucun échantillon d’erreur n’a été trouvé pour une question

Toutes les erreurs sont traitées, mais seules les erreurs retenues sont disponibles dans le volet des erreurs en tant qu’échantillon d’erreur.

APM

Les spans associées à l’erreur doivent être conservées à l’aide d’un filtre de rétention personnalisé pour que les échantillons de cette erreur apparaissent dans le volet des erreurs.