Aller au contenu principal

Observability dans Studio

Studio inclut les vues d’observabilité suivantes :

  • Metrics pour les données de performances agrégées
  • Traces pour l’inspection des requêtes individuelles
  • Logs pour parcourir les journaux internes et ceux de l’application

Toutes exigent qu’un backend de stockage Observability soit configuré.

Démarrage rapide
Lien direct vers Démarrage rapide

Pour des instructions détaillées, suivez les instructions d’Observability. Pour démarrer rapidement, ajoutez le package @mastra/observability à votre projet et configurez-le avec LibSQL et DuckDB pour une configuration de développement local qui prend en charge à la fois les traces et les métriques.

npm install @mastra/observability @mastra/libsql @mastra/duckdb

Ajoutez ensuite ce qui suit à votre fichier src/mastra/index.ts :

src/mastra/index.ts
import { Mastra } from '@mastra/core/mastra'
import { LibSQLStore } from '@mastra/libsql'
import { DuckDBStore } from '@mastra/duckdb'
import { MastraCompositeStore } from '@mastra/core/storage'
import {
Observability,
MastraStorageExporter,
MastraPlatformExporter,
SensitiveDataFilter,
} from '@mastra/observability'

export const mastra = new Mastra({
storage: new MastraCompositeStore({
id: 'composite-storage',
default: new LibSQLStore({
id: 'mastra-storage',
url: 'file:./mastra.db',
}),
domains: {
observability: await new DuckDBStore().getStore('observability'),
},
}),
observability: new Observability({
configs: {
default: {
serviceName: 'mastra',
exporters: [
new MastraStorageExporter(), // Persists observability events to Mastra Storage
new MastraPlatformExporter(), // Sends observability events to Mastra platform (if MASTRA_PLATFORM_ACCESS_TOKEN is set)
],
spanOutputProcessors: [
new SensitiveDataFilter(), // Redacts sensitive data like passwords, tokens, keys
],
},
},
}),
})

Plateforme Mastra
Lien direct vers Plateforme Mastra

Pour des traces, journaux et métriques hébergés dans vos projets et déploiements, consultez Observability sur la plateforme Mastra.

Metrics
Lien direct vers Metrics

Un tableau de bord qui récapitule les performances des agents, workflows et tools sur une plage temporelle configurable, des dernières 24 heures à 30 jours. La première ligne présente le nombre total d’exécutions d’agents, le coût des modèles, la consommation de tokens et la performance moyenne des scorers. En dessous, des cartes détaillées ventilent l’utilisation et le coût par modèle, l’utilisation de tokens par agent, l’utilisation de tokens au fil du temps avec estimation du coût, le volume de traces avec les nombres de réussites et d’erreurs, les percentiles de latence (p50 et p95) et les tendances des scorers.

Consultez la vue d’ensemble des métriques pour plus de détails.

remarque

Les métriques requièrent un stockage OLAP distinct pour Observability. Les bases de données relationnelles telles que PostgreSQL et LibSQL ne prennent pas en charge les métriques. Le stockage en mémoire est réinitialisé au redémarrage.

Traces
Lien direct vers Traces

Lorsque vous exécutez un agent ou un workflow, l’onglet Observability affiche des traces qui mettent en évidence les principales opérations d’IA, comme les appels de modèle, les exécutions de tools et les étapes de workflow. Suivez ces traces pour voir comment les données circulent, où le temps est passé et ce qui se produit en interne.

Au-dessus de la liste des traces, ouvrez Columns pour afficher ou masquer les colonnes d’entrée, d’entité, de durée, de token d’entrée, de token de sortie, de coût estimé et de métadonnées personnalisées. Pour afficher des métadonnées personnalisées, ajoutez la clé de niveau supérieur utilisée dans tracingOptions.metadata. Studio enregistre la sélection dans le stockage du navigateur pour le serveur Mastra et le préfixe d’API actuels.

Les colonnes de tokens et de coût estimé nécessitent un stockage Observability qui prend en charge les métriques. Elles restent masquées dans la vue Branches, car plusieurs lignes de branche peuvent appartenir à la même trace.

Tracing filtre les détails du framework de bas niveau afin que vos traces restent ciblées et lisibles. Consultez la vue d’ensemble du tracing pour plus de détails.

Pour exporter une trace, sélectionnez Download trace JSON dans l’en-tête du panneau de trace. La trace entière est enregistrée dans un fichier trace-<id>.json, avec chaque span et ses entrées, sorties, métadonnées et attributs complets. Utilisez-le pour partager une trace, la joindre à un rapport de bug ou, alternativement, créer un jeu de données d’évaluation hors ligne.

Logs
Lien direct vers Logs

Parcourez les journaux internes Mastra transmis à votre stockage Observability. Les journaux fournissent une recherche en texte intégral, couvrant le contenu des messages, les noms d’entités et les ID de trace, des préréglages de dates, des dernières 24 heures à 30 jours, ainsi que des filtres à sélection multiple pour le niveau, le type d’entité et le nom de l’entité. Sélectionner un journal ouvre un panneau de détails qui affiche le message complet, les données structurées et les métadonnées. Si le journal est corrélé à une trace, vous pouvez accéder directement à la chronologie de la trace et des spans.

La transmission des journaux est activée par défaut lorsque vous configurez Observability. Consultez logging pour la configuration des niveaux, des exemples de requêtes et les détails de personnalisation.