Aller au contenu principal

ArthurExporter

Envoie les données de Tracing à Arthur Engine au moyen d'OpenTelemetry et des conventions sémantiques OpenInference.

Constructeur
Lien direct vers Constructeur

new ArthurExporter(config: ArthurExporterConfig)

ArthurExporterConfig
Lien direct vers arthurexporterconfig

type ArthurExporterConfig = Omit<OtelExporterConfig, 'provider' | 'exporter'> & {
apiKey?: string
endpoint?: string
taskId?: string
headers?: Record<string, string>
}

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<string, any> - Attributs de ressource personnalisés

Transmission des métadonnées
Lien direct vers 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
Lien direct vers Méthodes

exportTracingEvent
Lien direct vers exporttracingevent

async exportTracingEvent(event: TracingEvent): Promise<void>

Exporte un événement de Tracing vers le point de terminaison configuré.

export
Lien direct vers export

async export(spans: ReadOnlySpan[]): Promise<void>

Exporte les spans par lots au moyen d'OpenTelemetry et des conventions sémantiques OpenInference.

flush
Lien direct vers flush

async flush(): Promise<void>

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
Lien direct vers shutdown

async shutdown(): Promise<void>

Envoie les données en attente et arrête le client.

Utilisation
Lien direct vers Utilisation

Sans configuration (au moyen de variables d'environnement)
Lien direct vers Sans configuration (au moyen de variables d'environnement)

import { ArthurExporter } from '@mastra/arthur'

// Set ARTHUR_API_KEY and ARTHUR_BASE_URL (optionally ARTHUR_TASK_ID)
const exporter = new ArthurExporter()

Configuration explicite
Lien direct vers Configuration explicite

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
Lien direct vers openinference-semantic-conventions

ArthurExporter implémente les conventions sémantiques OpenInference 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
Lien direct vers 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
Lien direct vers Utilisation

const result = await agent.generate('Hello', {
tracingOptions: {
tags: ['production', 'experiment-v2', 'user-request'],
},
})

Stockage des tags
Lien direct vers Stockage des tags

Les tags sont stockés au moyen de l'attribut OpenInference tag.tags :

{
"tag.tags": ["production", "experiment-v2", "user-request"]
}