Explorer les traces

L’Explorateur de traces permet de rechercher, filtrer et inspecter chaque trace traversant vos applications IA. Il est disponible dans Studio sous Observabilité → Traces.

Avant de pouvoir explorer les traces, votre application doit être instrumentée. Consultez Envoyer des traces pour les instructions de configuration.

Contenu des traces

Contenu des traces

Chaque trace est un arbre de spans. Chaque span représente une opération dans la chaîne d’exécution.

ChampDescription
ID de traceIdentifiant unique pour la chaîne d’exécution complète
SpansOpérations individuelles : appels au modèle, appels d’outils, étapes de workflow
DuréeTemps écoulé pour chaque span et pour l’intégralité de la trace
Nombre de tokensTokens d’entrée et de sortie par appel de modèle
StatutSuccès ou erreur, avec les messages d’erreur le cas échéant
SourceProduit ayant généré la trace (SDK, Workflows, Vibe Work, Managed Agents)
TagsTags personnalisés depuis l’utilisation du SDK, ainsi que des métadonnées automatiques comme le nom du modèle

Cliquez sur une trace dans la liste pour ouvrir l’arbre des spans. Développez les spans individuels pour inspecter les entrées, les sorties, la latence et l’utilisation des tokens à chaque étape.

Recherche et filtrage

Recherche et filtrage

L’Explorateur accepte un langage d’expression de recherche : écrivez des conditions sur les champs de trace et combinez-les avec AND, OR et NOT.

Opérateurs

Opérateurs

CatégorieOpérateursExemple
Comparaison=, !=, <, <=, >, >=duration_ns > 5000000000
Correspondance de motifLIKE, ILIKE, NOT LIKEservice_name LIKE '%agent%'
Sous-chaîneCONTAINS, NOT CONTAINSservice_name CONTAINS 'sdk'
Expression rationnelleREGEXP, NOT REGEXPservice_name REGEXP '^my-'
PlageBETWEEN ... AND ...duration_ns BETWEEN 1000000 AND 5000000000
ListeIN (...), NOT IN (...)status_code IN ('Error', 'Ok')
Vérification de nullitéEXISTS, NOT EXISTSerror_message EXISTS
BooléenAND, OR, NOT, ()status_code = 'Error' AND duration_ns > 1000000
Champs disponibles

Champs disponibles

ChampTypeDescription
service_namechaîne de caractèresNom du service ayant Produit la trace
status_codechaîne de caractèresStatut de la trace : Ok ou Error
duration_nsnombreDurée totale de la trace en nanosecondes
error_messagechaîne de caractèresMessage d’erreur si la trace a échoué
start_timehorodatageMoment où la trace a commencé (ISO 8601)
models_usedtableauModèles appelés dans la trace
span_attributes['key']valeur de mappageTout attribut de span, en utilisant la syntaxe entre crochets
Requêtes sur les attributs de span

Requêtes sur les attributs de span

Utilisez la syntaxe entre crochets pour filtrer sur n’importe quel attribut de span OpenTelemetry :

span_attributes['gen_ai.request.model'] CONTAINS 'mistral-large'
span_attributes['gen_ai.operation.name'] = 'chat'
span_attributes['custom.tag'] EXISTS
Champs de type tableau

Champs de type tableau

Pour les champs de type tableau comme models_used :

FonctionExemple
CONTAINSmodels_used CONTAINS 'mistral-medium-latest'
has(field, value)has(models_used, 'mistral-medium-latest')
hasany(field, [values])hasany(models_used, ['mistral-large-latest', 'mistral-small-latest'])
hasall(field, [values])hasall(models_used, ['mistral-large-latest', 'mistral-small-latest'])
Exemples courants

Exemples courants

# All failed traces from a specific service
service_name = 'my-agent' AND status_code = 'Error'

# Traces slower than 5 seconds
duration_ns > 5000000000

# Traces using a specific model
span_attributes['gen_ai.request.model'] CONTAINS 'mistral-large'
Traces des Managed Agents

Traces des Managed Agents

Chaque tour d’une session Managed Agents correspond à une trace. Le span racine est invoke_agent <nom de l’agent>, avec en dessous les appels au modèle (chat) et les appels d’outils (execute_tool) du tour. Les appels d’outils effectués par un programme run_typescript sont imbriqués sous le span de ce programme.

Un sous-agent ne crée pas sa propre trace. Son tour apparaît dans la trace du parent, sous le span d’outil agents.spawn ou agents.send_message qui l’a lancé :

invoke_agent support-bot
├── chat
├── execute_tool agents.spawn
│   └── invoke_agent researcher
│       ├── chat
│       └── execute_tool web_search
└── chat

Ces attributs relient les spans à la session à laquelle ils appartiennent :

AttributDescription
gen_ai.conversation.idID de la session. Les spans d’un sous-agent portent l’ID de session propre au sous-agent.
mistral.turn.idID du tour dans la session. Les ID de tour ne sont uniques qu’au sein d’une session.
mistral.conversation.parent.idSur les spans d’un sous-agent, ID de la session parente.
gen_ai.agent.name, gen_ai.agent.idAgent qui a exécuté le tour, sur le span invoke_agent.

Pour ouvrir la session à laquelle appartient une trace, sélectionnez le span racine invoke_agent et choisissez Aller à la session de l'agent dans le menu d’actions du span.

Pour trouver la trace d’un tour, filtrez à la fois sur l’ID de session et sur l’ID de tour :

span_attributes['gen_ai.conversation.id'] = '<session_id>' AND span_attributes['mistral.turn.id'] = '<turn_id>'
Requêter les traces par programmation

Requêter les traces par programmation

Toutes les données de trace sont accessibles via l’API REST. Les endpoints sont documentés dans la référence de l’API :

  • Traces : recherche de traces, récupération d’une seule trace, liste des champs et des options de champ.
  • Spans : liste des spans pour une trace, requête d’évaluations de span.
Accès

Accès

La lecture des traces nécessite une organisation Enterprise et l’un des rôles suivants :

RôleAccès
Admin OrgToutes les traces sur tous les espaces de travail
Workspace AdminToutes les traces dans son espace de travail
Observability ViewerToutes les traces dans son espace de travail (lecture seule)

Un Workspace Admin ou un Admin Org peut attribuer le rôle Observability Viewer pour accorder un accès en lecture seule sans privilèges d’administrateur.

FAQ

FAQ