Traces

Vue d’ensemble

La section APM > Traces affiche les traces collectées à partir de vos applications et services.

Une trace représente le chemin qu’une requête suit à travers vos applications et services. Par exemple, lorsqu’un utilisateur clique sur le bouton Passer la commande dans une boutique en ligne, la requête peut passer du service d’interface aux services de validation de commande et de paiement, puis à la base de données.

Une trace se compose de spans. Chaque span représente une opération unique, telle qu’une requête HTTP envoyée par le service d’interface au service de validation de commande, une requête de base de données qui enregistre la commande ou un appel de fonction qui calcule les frais d’expédition.

Les spans forment une hiérarchie. Le span racine représente la première opération de la requête. Chaque autre span est un span enfant du span pendant lequel son opération a été démarrée. Par exemple, le service d’interface qui reçoit la requête Passer la commande constitue le span racine, et le service de validation de commande qui traite la commande est son span enfant.

Chaque span est produit par un service (par exemple, zabbix-frontend; nommé par l’attribut de ressource OpenTelemetry service.name) et par un scope d’instrumentation, c’est-à-dire la partie du code qui l’a créé (par exemple, une bibliothèque qui trace les requêtes HTTP).

Pour fournir un contexte sur chaque opération, les spans possèdent également des attributs clé-valeur : les attributs de span décrivent l’opération elle-même (par exemple, http.method: POST), tandis que les attributs de ressource décrivent le service et l’environnement dans lequel il s’exécute (par exemple, host.name: eabf8c2a5ddc).

Pour plus d’informations sur les traces, consultez la documentation OpenTelemetry.

La section APM > Traces contient les éléments suivants :

  • Bouton Mode kiosque - affiche uniquement le contenu de la page, sans le menu ni l’en-tête.
  • Sélecteur de période - sélectionne la période pour laquelle afficher les traces.
  • Filtre - affiche uniquement les traces qui vous intéressent.
  • Liste des traces - permet de consulter les traces, décrites par leurs spans racines.
  • Panneau de trace - permet de consulter tous les spans de la trace sélectionnée sur une chronologie.

Liste des traces

Chaque ligne de la liste des traces représente une trace ; les colonnes affichent les données de son span racine.

Les traces sont affichées dans un tableau personnalisable. Le bouton Personnaliser le tableau dans l'en-tête du tableau permet d'afficher, de masquer ou de réorganiser les colonnes, ainsi que de rétablir la disposition par défaut. Vous pouvez également redimensionner chaque colonne en faisant glisser sa bordure droite ; double-cliquez sur la bordure pour rétablir sa taille. Toutes les personnalisations sont appliquées immédiatement et mémorisées pour l'utilisateur actuel.

La liste des traces peut contenir les colonnes suivantes :

Chaque colonne correspond à une colonne de la table otel_traces de la source de données de télémétrie ; pour obtenir la liste des colonnes, consultez Colonnes de données de télémétrie prises en charge. La plupart des colonnes portent le même nom que dans la source de données (par exemple, Trace ID correspond à la colonne TraceId). Lorsque les noms diffèrent, la colonne de la source de données est indiquée dans le tableau ci-dessous.

Colonne Description
Trace ID ID de la trace, partagé par tous les spans appartenant à la trace.
Span ID ID du span racine.
Trace state Données supplémentaires, le cas échéant, que les outils de traçage associent à la trace (voir W3C Trace Context).
Service name Service ayant produit le span racine, suivi du nombre de spans dans la trace.
Si certains spans possèdent le code d'état Error (voir ci-dessous), une icône rouge indique leur nombre.
Operation name Opération représentée par le span racine (par exemple, POST /zabbix.php).
Colonne de la source de données : SpanName.
Span kind Rôle du span racine :
Unspecified - non spécifié.
Internal - opération effectuée au sein d'une application.
Server - traitement d'une requête entrante.
Client - requête sortante.
Producer - création d'une opération asynchrone (par exemple, l'envoi d'un message).
Consumer - traitement d'une opération asynchrone.
Scope name Scope d'instrumentation ayant produit le span racine.
Scope version Version du scope d'instrumentation.
Status code État de l'opération représentée par le span racine :
Unset - aucun état explicite n'a été attribué au span racine.
Ok - l'opération s'est terminée avec succès.
Error - l'opération s'est terminée avec une erreur.
Status message Informations supplémentaires, le cas échéant, sur l'état.
Start time Date et heure auxquelles le span racine a commencé.
Colonne de la source de données : Timestamp.
Span attributes Attributs du span racine.
Cliquez sur le bouton à trois points pour afficher tous les attributs.
Resource attributes Attributs de ressource du span racine.
Cliquez sur le bouton à trois points pour afficher tous les attributs.
Duration Durée de la trace ; la barre grise l'affiche par rapport aux autres traces.

Panneau de trace

Cliquez sur une trace dans la liste des traces pour ouvrir le panneau de trace, qui affiche tous les spans de la trace sur une chronologie : les opérations effectuées, leur ordre d’exécution et la durée de chacune.

Le panneau de trace peut contenir les éléments suivants :

Élément Description
ID de trace ID de la trace sélectionnée.
Vue d’ensemble de la chronologie de la trace La trace complète, avec les spans répartis sur un maximum de 8 lignes (plusieurs spans peuvent partager une ligne).
Faites glisser les bordures de la plage sélectionnée, ou la plage elle-même, pour zoomer sur la chronologie des spans correspondant à cette partie de la trace.
Arborescence des spans Les spans dans leur hiérarchie ; chacun affiche son service (en gras), le nom de l’opération et le nombre de spans enfants directs.
Chronologie des spans Les spans sous forme de barres : leur position et leur longueur indiquent le moment où chaque span a commencé et sa durée.
Les marqueurs indiquent les événements (par exemple, les exceptions) ; survolez un marqueur ou cliquez dessus pour afficher les détails.
Détails du span Cliquez sur un span dans l’arborescence des spans pour afficher ses détails et ses attributs.

Utilisation du filtre

Vous pouvez utiliser le filtre pour afficher uniquement les traces qui vous intéressent.

Pour filtrer par attributs, saisissez la clé de l'attribut, sélectionnez l'opérateur, puis saisissez la valeur de l'attribut.

Les opérateurs suivants sont pris en charge :

  • Contient - (par défaut) la valeur de l'attribut contient la chaîne saisie.
  • Est égal à - la valeur de l'attribut est égale à la chaîne saisie.
  • Ne contient pas - la valeur de l'attribut ne contient pas la chaîne saisie.
  • N'est pas égal à - la valeur de l'attribut n'est pas égale à la chaîne saisie.
  • Existe - l'attribut avec la clé saisie existe.
  • N'existe pas - l'attribut avec la clé saisie n'existe pas.

Si vous ajoutez plusieurs conditions, sélectionnez la manière de les évaluer :

  • Et/Ou - (par défaut) toutes les conditions doivent être remplies ; les conditions ayant la même clé d'attribut sont combinées avec Ou.
  • Ou - au moins une condition doit être remplie.