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 commandetraces identifie une application et utilise votre organisation par défaut sauf indication contraire :
| Drapeau | Description |
|---|---|
--app <name> | Nom de l’application (ajoutez --environment lorsque plusieurs applications partagent le nom) |
--environment <env> | Environment, utilisé avec --app, comme production ou development |
--app-id <id> | ID de l’application (une longue chaîne hexadécimale obtenue via appsignal-cli apps list), à la place de --app et --environment |
--org <slug> | Slug de l’organisation (utilise votre organisation par défaut si omis) |
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 unePaymentDeclinedException 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
digests :
2. Listez les traces pour ce digest
Passez le digest àtraces errors. Chaque ligne correspond à une occurrence capturée :
Shell
3. Inspectez le trace
Passez le numéro d’incident et le trace ID àtraces show-incident :
Shell
!! 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 :
| Drapeau | Description |
|---|---|
--namespace <name> | Namespace dans lequel chercher, par exemple web, background, graphql (obligatoire) |
--action <name> | Action pour laquelle récupérer les traces, par exemple GET /products (obligatoire) |
--start <ISO8601> | Heure de début, par exemple 2025-01-15T00:00:00Z (par défaut, il y a 24 heures) |
--end <ISO8601> | Heure de fin (par défaut, maintenant) |
--min-duration-ms <ms> | Ne renvoie que les traces d’au moins cette durée en millisecondes |
--limit <N> | Nombre maximum de traces à renvoyer (1–100, par défaut 25) |
--page-all | Récupérer toutes les traces dans la plage, en ignorant --limit |
--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
--action pour restreindre la recherche à l’une d’elles. En plus des options communes, incident prend :
| Drapeau | Description |
|---|---|
--number <N> | Numéro du performance incident (obligatoire) |
--action <name> | Restreindre la recherche à une seule action lorsque l’incident en compte plusieurs |
--start <ISO8601> | Heure de début (par défaut, il y a 24 heures) |
--end <ISO8601> | Heure de fin (par défaut, maintenant) |
--min-duration-ms <ms> | Ne renvoie que les traces d’au moins cette durée en millisecondes |
--limit <N> | Nombre maximum de traces par action (1–100, par défaut 25) |
--page-all | Récupérer toutes les traces pour chaque action, en ignorant --limit |
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
!! et le type d’exception.
À partir d’un exception digest
Affichez un error trace par son digest et son trace ID :Shell
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
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 commandesshow 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
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 tableautraces. - Les commandes
show(traces show,traces show-error,traces show-incident) renvoient letrace_idet sesspans, plus un uniquespanlorsque vous passez--span-id. - Cela s’applique aussi bien aux performance samples qu’aux error traces, et se combine avec
--page-allpour 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