Skip to main content
Vous pouvez localiser les performance actions et error incidents associés à un trace. Utilisez les commandes samples ou traces (alias) pour récupérer des samples individuels depuis les données de tracing d’AppSignal. Les traces montrent ce qui s’est passé pendant une request, un job ou l’exécution d’un script, et peuvent afficher le trace derrière une exception. Listez les traces, puis ouvrez-en un pour voir son span tree et inspecter les timings, tags et attributes d’un span individuel. La commande est disponible sous le nom samples ou traces. appsignal-cli traces list et appsignal-cli samples list font la même chose. Cette page utilise traces partout.
Les traces sont récupérées via la REST tracing API d’AppSignal en utilisant votre compte connecté, donc authentifiez d’abord la CLI. Voir Authentification.

Options communes

Chaque commande traces identifie une application et utilise votre organisation par défaut sauf indication contraire :

Trouver un trace à partir d’un incident

La plupart des investigations commencent par un incident, pas par un trace ID. Ces étapes vous mènent d’un numéro d’incident au span tree d’une seule request, en suivant une PaymentDeclinedException Laravel sur POST /checkout (exception incident 9).

1. Lisez le digest de l’incident

Les error traces sont regroupées par exception digest. Lisez le digest depuis l’incident, ou copiez-le depuis l’AppSignal app :
Shell
Le digest se trouve dans le champ digests :

2. Listez les traces pour ce digest

Passez le digest à traces errors. Chaque ligne correspond à une occurrence capturée :
Shell
Copiez le trace ID que vous souhaitez inspecter.

3. Inspectez le trace

Passez le numéro d’incident et le trace ID à traces show-incident :
Shell
Le !! marque le span qui a levé l’exception : ici, POST /checkout juste après le stripe.charge de 334 ms. Pour inspecter un span en entier, ajoutez --span-id avec la valeur de son span:. Voir inspecter un span individuel. Ces étapes commencent à partir d’un exception incident. Si vous partez d’autre chose, utilisez la commande correspondante :
  • Un performance incident : traces incident --number <N> liste ses traces sans digest. Voir pour un incident.
  • Un namespace et une action connus : traces list --namespace <name> --action <name>. Voir pour une action.

Lister les traces

Trois commandes listent les traces, selon votre point de départ : une performance action, un incident ou un exception digest. Chacune renvoie un tableau de trace IDs que vous pouvez ensuite passer aux commandes d’inspection de la section suivante.

Pour une action

Listez les performance samples récents pour un namespace et une action :
Shell
list requiert --namespace, --action et une application (--app ou --app-id), et prend ces options supplémentaires :
--namespace est le namespace AppSignal qui regroupe l’action, généralement web, background, rake, runner ou graphql. Votre application peut également définir des namespaces personnalisés. Si vous n’êtes pas sûr du namespace auquel appartient une action, utilisez plutôt traces incident --number <N> : il lit les noms de namespace et d’action directement depuis le performance incident, vous n’avez donc pas à les fournir vous-même.

Pour un incident

Sautez la recherche par namespace et action et listez les samples derrière un performance incident par son numéro :
Shell
Si l’incident couvre plusieurs actions, les résultats sont regroupés par action. Passez --action pour restreindre la recherche à l’une d’elles. En plus des options communes, incident prend :

Error traces pour une exception

Listez les error traces derrière une exception, identifiée par son digest :
Shell
errors requiert --digest et une application (--app ou --app-id), et prend également --limit (1–100, par défaut 25) et --page-all. Trouvez le digest sur l’exception incident dans l’AppSignal app UI, ou utilisez traces show-incident dans la section suivante pour éviter complètement le digest.

Inspecter un trace

Une fois que vous avez un trace ID, ouvrez-le pour voir le span tree : chaque span avec son kind, sa durée, son nombre d’events et toute exception, suivi d’un résumé. Trois commandes font cela, correspondant aux trois façons dont vous avez listé le trace.

À partir d’une action

Affichez un performance trace par son namespace, son action et son trace ID :
Shell
L’indentation montre la structure parent-enfant des spans. Un span portant une exception est marqué avec !! et le type d’exception.

À partir d’un exception digest

Affichez un error trace par son digest et son trace ID :
Shell
Utilisez les trace IDs renvoyés par traces errors (ou par traces incident pour un exception incident).

À partir d’un numéro d’incident

Lorsque vous disposez d’un numéro d’incident plutôt que d’un namespace, d’une action ou d’un digest, show-incident vérifie l’incident pour vous : à partir du numéro, il recherche le namespace et l’action (ou le digest), vous n’avez donc pas à les fournir. Vous choisissez toujours quel trace inspecter avec --trace-id, donc listez d’abord les traces de l’incident avec traces incident :
Shell

Inspecter un span individuel

Ajoutez --span-id à n’importe laquelle des commandes show pour afficher les détails complets d’un span au lieu du tree : ses timings, son status, ses tags, ses span attributes, ses events et ses resource attributes.
Shell
Prenez le span ID dans la valeur span: à la fin de chaque ligne du span tree. Si l’ID n’est pas dans le trace, la CLI liste ceux qui sont disponibles :

Données sensibles

Par défaut, les commandes show omettent les HTTP headers, les paramètres de request, les données de session et les paramètres de fonction. Ajoutez --include-sensitive pour les afficher :
Shell
--include-sensitive peut afficher des données personnelles et des secrets capturés dans une request. Soyez prudent lorsque vous partagez la sortie ou la redirigez vers un autre outil.

Plage temporelle et pagination

list, incident et les commandes show de performance remontent de 24 heures par défaut. Élargissez ou déplacez la fenêtre avec --start et --end (ISO 8601, par exemple 2025-01-15T00:00:00Z). Si un trace est plus ancien que la fenêtre par défaut, une recherche par ID indique qu’il n’a pas été trouvé : relancez avec un --start antérieur. --limit plafonne un listage jusqu’à 100 traces (25 par défaut). Pour récupérer toutes les traces de la plage à la place, utilisez --page-all, qui ignore --limit.

Sortie JSON

  • Ajoutez le drapeau global --output json (ou --format json) pour des résultats lisibles par machine.
  • Les commandes de listage (traces list, traces incident, traces errors) renvoient un tableau traces.
  • Les commandes show (traces show, traces show-error, traces show-incident) renvoient le trace_id et ses spans, plus un unique span lorsque vous passez --span-id.
  • Cela s’applique aussi bien aux performance samples qu’aux error traces, et se combine avec --page-all pour paginer sur tous les résultats.
  • Les résultats (le JSON) sont écrits sur stdout tandis que les messages de statut sont écrits sur stderr, donc rediriger la sortie vers un autre outil ne mélange jamais de texte non-JSON.
Shell

Étapes suivantes

Vous avez retracé une request lente ou une erreur jusqu’à son trace ? Ouvrez les incidents associés pour les trier, ou parcourez vos logs pour obtenir plus de contexte.