La console de workflow
Lire la console ligne par ligne sous l'éditeur de workflow pendant qu'une exécution est en cours, et passer à la chronologie lorsque vous devez savoir où le temps a été passé
Le panneau situé en bas de l'éditeur de workflow indique ce que fait une exécution. Il propose deux vues, et celle qui s'affiche par défaut — Console — est un flux ligne par ligne : une ligne par événement survenu, la plus ancienne en haut, la plus récente en bas.
Lire une ligne
Chaque ligne a la même forme :
06:46:51 ✗ TOOL run_shell Tool execution failed 121ms
06:47:30 ⟳ MODEL Calling azure-foundry/gpt-5.4 4.3s…
06:46:38 ✓ RUNTIME Provisioned isolated runtime 5.07s
06:47:34 ✓ MODEL gpt-5.4 The test failure is in trace-… 14.6s
06:47:49 ✓ TOOL run_shell bun run build && bun test 2.35s- Heure — le moment où le travail de la ligne a commencé, selon l'horloge murale.
- Statut — ✓ terminé, ✗ en échec, ⟳ toujours en cours, ⊖ ignoré, ⚠ avertissement.
- Type — la nature du travail. Survolez-le pour obtenir une explication en une phrase :
MODEL— un appel à un modèle de langage, étiqueté avec le modèle qui a répondu.TOOL— un outil que l'agent a exécuté dans son bac à sable.RUNTIME— le cycle de vie du bac à sable géré par la plateforme pour le bloc. Ces lignes sont atténuées : elles fournissent du contexte, pas le travail de votre workflow. Elles restent visibles car, sur un bloc à froid, les premières secondes d'attente sont le provisionnement du runtime, et les masquer donnerait l'impression que la console est bloquée.BLOCK— un bloc de votre workflow (un en-tête de groupe).
- Libellé — se lit comme une action pendant l'exécution (
Calling …,Running …) et comme un résultat une fois terminée (azure-foundry/gpt-5.4). - Ce qu'elle a fait — un court extrait après le libellé, pour distinguer une étape de la
suivante sans en ouvrir aucune. Une ligne
MODELmontre le début de ce que le modèle a dit, ou les outils qu'il a décidé d'appeler (→ run_shell). Une ligneTOOLmontre les arguments avec lesquels il s'est exécuté — la commande pourrun_shell, le chemin pourread_file. L'extrait est tronqué pour tenir dans la ligne ; le panneau de détail affiche le reste. - Durée — le temps que cela a pris. Une ligne toujours en cours affiche le temps écoulé suivi
d'un
…final, qui augmente au fil du temps.
Une ligne n'apparaît que lorsque l'événement correspondant arrive. La console n'affiche jamais une étape qui ne s'est pas encore produite : ce que vous voyez est donc toujours quelque chose que l'exécution a réellement fait.
Ce qui est conservé, et ce qui ne l'est pas. Les extraits sont stockés avec l'exécution, de sorte qu'une exécution enregistrée
se lit de la même manière des mois plus tard. Leur longueur est limitée (quelques centaines de caractères par
étape) et ils passent par l'expurgation des secrets — une clé d'API, un jeton bearer ou un mot de passe dans une
commande est remplacé par [REDACTED] avant toute écriture.
Les résultats des outils ne sont jamais stockés : un résultat peut être un fichier entier ou une réponse d'API, et la console n'en consigne que le type et la taille. Si les arguments d'une commande sont eux-mêmes sensibles, considérez que l'enregistrement de l'exécution les contient.
Les exécutions antérieures à la livraison de cette fonctionnalité n'ont pas d'extraits et n'affichent que le libellé.
Les blocs regroupent leurs propres lignes
Chaque bloc est une ligne d'en-tête ; ses lignes de modèle, d'outil et de runtime sont indentées en dessous.
- Pendant qu'une exécution est en cours, la console suit le bloc le plus récent. Lorsque le bloc suivant
démarre, celui qui est terminé se replie en une seule ligne de résumé —
Agent 1 · agent · 25 model calls · 26 tools (5 failed) · microvm— afin que la zone d'affichage reste sur le travail en cours. - Un bloc en échec reste ouvert, jusqu'à la ligne qui a échoué. Les erreurs ne sont jamais masquées derrière un chevron.
- Cliquez sur un chevron pour replier ou déplier un bloc vous-même ; votre choix est conservé pour cette exécution.
L'ouverture d'une exécution terminée affiche donc une ligne par bloc, plus tout bloc en échec déjà déplié.
Suivre, filtrer et rechercher
- Pendant qu'une exécution est en direct, la console reste sur la ligne la plus récente. Faites défiler vers le haut et elle cesse de suivre pour vous laisser lire ; une commande apparaît pour revenir à la dernière ligne.
- Les pastilles à droite restreignent le flux : All, Err (uniquement les échecs), Tools, Model. Les lignes de bloc et d'exécution restent toujours visibles, pour que vous ne perdiez jamais le fil.
- La zone de recherche correspond aux noms de blocs, aux noms d'outils et aux identifiants de modèles.
Cliquer sur une ligne
Sélectionner une ligne ouvre le panneau de détail à côté du flux. Son en-tête reprend la ligne sur laquelle vous
avez cliqué — statut, type, libellé, message d'échec, durée — et indique en dessous où se situe
la ligne : l'heure murale à la milliseconde, le bloc auquel elle appartient et son rang parmi
les appels de même type de ce bloc (tool 7 of 26).
Les sections ci-dessous se lisent dans l'ordre où vous en avez besoin lorsque quelque chose a échoué :
- Error — uniquement sur une ligne en échec. Un code d'erreur de la plateforme (
PLANE_EXECUTION_FAILED) est affiché dans sa propre pastille au-dessus du message ; les messages sur plusieurs lignes conservent leurs sauts de ligne. - Files — tout ce que le bloc a publié, avec un aperçu intégré lorsque le type de fichier s'affiche en toute sécurité dans le navigateur.
- Output (ou Result pour un appel d'outil) puis Input (ou Arguments), chacun avec sa taille et un bouton de copie. Les résultats des outils sont présentés sous forme de métadonnées de forme (type, taille) plutôt que de contenu.
- Details — replié par défaut.
Didcontient le texte complet d'un appel de modèle,Argumentsles arguments de l'outil, aux côtés de la fenêtre temporelle, du modèle et des nombres de jetons, des attributs du runtime, et des identifiants du bloc, du workflow et de l'exécution.
Agrandir (⤢) ouvre le même panneau sur tout l'éditeur.
L'événement terminal execution:error porte les mêmes code, message, retryable sûrs, ainsi que le
blockId facultatif, stockés avec l'exécution. Un échec de bloc met à jour la ligne existante du bloc en échec au lieu
d'ajouter une seconde ligne contradictoire. Les échecs antérieurs aux blocs ou globaux apparaissent une seule fois au niveau du workflow. Dans
Monitor → Run Details, l'erreur persistée est affichée même lorsqu'aucun span d'erreur n'existe ; utilisez Focus
failed block lorsqu'un blockId est disponible. Les échecs d'intégration vous invitent également à resélectionner le
compte ou la ressource requise lorsque c'est la remédiation appropriée.
La vue Timeline
Passez à Timeline dans l'en-tête pour obtenir la vue de trace : la même exécution sous forme d'arbre de spans avec des barres de durée, et un récapitulatif de la répartition du temps — votre charge de travail, le surcoût de la plateforme et le temps que rien n'explique. Utilisez la console pour répondre à que fait-elle, et la chronologie pour répondre à où le temps est-il passé. Votre choix de vue est mémorisé.
Ouvrir une exécution passée
Chaque exécution du tableau Runs d'un workflow (ainsi que du tableau de bord de l'environnement et de l'action workflow d'un process flow) s'ouvre dans la même console. La feuille comporte trois parties :
- En haut à gauche — l'exécution, ou la ligne que vous avez choisie. Tant que vous n'avez pas sélectionné de ligne, elle affiche l'exécution elle-même : l'échec en premier (avec son code d'erreur mis en avant dans une pastille), les fichiers que l'exécution a publiés, la sortie finale, et les détails de l'exécution repliés en dessous. Cliquez sur une ligne dans le terminal ou sur un bloc du canevas et le volet affiche cet élément à la place, sa légende nommant ce que vous avez sélectionné ; Esc revient à l'exécution.
- En haut à droite — le canevas, en lecture seule, chaque bloc étant coloré selon la manière dont il s'est terminé. Cliquez sur un
bloc pour atteindre ses lignes. Survolez un bloc ou donnez-lui le focus — sur le canevas ou via sa ligne
BLOCKdans le terminal — pour afficher une petite carte résumant son statut d'un coup d'œil. ⤢ l'ouvre en plein écran pour un workflow de grande taille. - En dessous — le terminal, le même flux de lignes que dans l'éditeur, avec le même sélecteur Console | Timeline et les mêmes pastilles de filtre. Il s'ouvre replié en une seule barre qui indique combien de lignes il contient et quel bloc est sélectionné ; dépliez-le avec le chevron à droite de la barre. Chaque exécution que vous ouvrez démarre de nouveau repliée — la feuille est d'abord une vue d'ensemble. Le résultat de l'exécution elle-même reste à sa place, dans la barre du haut.
Au-dessus de ces trois parties, la pastille de statut de l'exécution fonctionne de la même manière — survolez-la ou donnez-lui le focus pour afficher la carte de l'exécution. Voir Monitor → La feuille d'exécution pour le contenu de chaque carte.
Les exécutions enregistrées affichent les lignes BLOCK, MODEL et TOOL. Elles n'affichent pas les lignes RUNTIME — le
cycle de vie du bac à sable est diffusé pendant qu'une exécution est en direct, mais ne fait pas partie de l'enregistrement sauvegardé.
Dans la vue opérationnelle du workflow, l'exécution ouverte fait partie de l'URL de la page (?run=…) : vous pouvez donc
coller un lien vers une exécution en échec, et la personne qui l'ouvre arrive sur la même feuille.
Dimensionner le panneau
- Faites glisser le séparateur à la hauteur de votre choix.
- Agrandir (⤢ dans l'en-tête) masque le canevas et donne tout l'éditeur à la console ; ⤡ ou Esc rétablit l'affichage.
- Réduisez-le à une seule barre et il continue d'indiquer l'activité en cours d'exécution : vous pouvez ainsi travailler sur le canevas tout en voyant que l'exécution est active.
Les lignes TOOL en direct nécessitent un runtime de bac à sable récent. Sur les déploiements plus anciens, les appels d'outils
d'une exécution n'apparaissent qu'une fois le bloc terminé ; les lignes de modèle et de runtime sont diffusées dans tous les cas.