ArthurExporter
Envoie les données de Tracing à Arthur Engine au moyen d'OpenTelemetry et des conventions sémantiques OpenInference.
ConstructeurLien direct vers Constructeur
new ArthurExporter(config: ArthurExporterConfig)
ArthurExporterConfigLien 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éesLien 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éthodesLien direct vers Méthodes
exportTracingEventLien direct vers exporttracingevent
async exportTracingEvent(event: TracingEvent): Promise<void>
Exporte un événement de Tracing vers le point de terminaison configuré.
exportLien direct vers export
async export(spans: ReadOnlySpan[]): Promise<void>
Exporte les spans par lots au moyen d'OpenTelemetry et des conventions sémantiques OpenInference.
flushLien 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.
shutdownLien direct vers shutdown
async shutdown(): Promise<void>
Envoie les données en attente et arrête le client.
UtilisationLien 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 expliciteLien 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 conventionsLien 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 tagsLien 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.
UtilisationLien direct vers Utilisation
const result = await agent.generate('Hello', {
tracingOptions: {
tags: ['production', 'experiment-v2', 'user-request'],
},
})
Stockage des tagsLien 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"]
}