> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # ArthurExporter Envoie les données de Tracing à [Arthur Engine](https://github.com/arthur-ai/arthur-engine) au moyen d'OpenTelemetry et des conventions sémantiques OpenInference. ## Constructeur ```typescript new ArthurExporter(config: ArthurExporterConfig) ``` ## `ArthurExporterConfig` ```typescript type ArthurExporterConfig = Omit & { apiKey?: string endpoint?: string taskId?: string headers?: Record } ``` Hérite de `OtelExporterConfig` (à l'exception de `provider` et `exporter`), qui comprend : - `timeout?: number` - Délai d'expiration de l'exportation en millisecondes (par défaut : 30000) - `batchSize?: number` - Nombre de spans par lot (par défaut : 512) - `logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'` - Niveau de journalisation (par défaut : WARN) - `resourceAttributes?: Record` - Attributs de ressource personnalisés ### Transmission des métadonnées Les attributs de span non réservés sont sérialisés dans la charge utile OpenInference `metadata`. Ajoutez-les au moyen de `tracingOptions.metadata` (par exemple, `companyId`, `tier`). Les champs réservés tels que `input`, `output`, `sessionId`, les identifiants de thread ou d'utilisateur et les identifiants OpenInference sont automatiquement exclus. ## Méthodes ### `exportTracingEvent` ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` Exporte un événement de Tracing vers le point de terminaison configuré. ### export ```typescript async export(spans: ReadOnlySpan[]): Promise ``` Exporte les spans par lots au moyen d'OpenTelemetry et des conventions sémantiques OpenInference. ### flush ```typescript async flush(): Promise ``` Force l'envoi de tous les spans en mémoire tampon vers le point de terminaison configuré sans arrêter l'Exporter. Cette méthode est utile dans les environnements sans serveur où vous devez vous assurer que les spans sont exportés avant la fin de l'environnement d'exécution. ### shutdown ```typescript async shutdown(): Promise ``` Envoie les données en attente et arrête le client. ## Utilisation ### Sans configuration (au moyen de variables d'environnement) ```typescript import { ArthurExporter } from '@mastra/arthur' // Set ARTHUR_API_KEY and ARTHUR_BASE_URL (optionally ARTHUR_TASK_ID) const exporter = new ArthurExporter() ``` ### Configuration explicite ```typescript import { ArthurExporter } from '@mastra/arthur' const exporter = new ArthurExporter({ apiKey: process.env.ARTHUR_API_KEY!, endpoint: 'http://localhost:3030', taskId: process.env.ARTHUR_TASK_ID, // Optional }) ``` ## `OpenInference` semantic conventions ArthurExporter implémente les [conventions sémantiques OpenInference](https://github.com/Arize-ai/openinference/tree/main/spec) pour les applications d'IA générative, offrant ainsi une structure de Trace normalisée sur différentes plateformes d'observabilité. ## Prise en charge des tags ArthurExporter prend en charge l'ajout de tags aux Traces afin de les catégoriser et de les filtrer. Les tags sont uniquement appliqués aux spans racines et associés à la convention sémantique OpenInference native `tag.tags`. ### Utilisation ```typescript const result = await agent.generate('Hello', { tracingOptions: { tags: ['production', 'experiment-v2', 'user-request'], }, }) ``` ### Stockage des tags Les tags sont stockés au moyen de l'attribut OpenInference `tag.tags` : ```json { "tag.tags": ["production", "experiment-v2", "user-request"] } ``` ## Voir aussi - [Documentation d'ArthurExporter](https://mastra.zisheng.pro/fr/docs/observability/integrations/exporters/arthur) - [Documentation d'Arthur Engine](https://docs.arthur.ai/) - [Dépôt d'Arthur Engine](https://github.com/arthur-ai/arthur-engine)