ArthurExporter
Sends Tracing data to Arthur Engine using OpenTelemetry and OpenInference semantic conventions.
ConstructorConstructor的直接链接
new ArthurExporter(config: ArthurExporterConfig)
ArthurExporterConfigarthurexporterconfig的直接链接
type ArthurExporterConfig = Omit<OtelExporterConfig, 'provider' | 'exporter'> & {
apiKey?: string
endpoint?: string
taskId?: string
headers?: Record<string, string>
}
Inherits from OtelExporterConfig (excluding provider and exporter), which includes:
timeout?: number- Export timeout in milliseconds (default: 30000)batchSize?: number- Number of spans per batch (default: 512)logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'- Log level (default: WARN)resourceAttributes?: Record<string, any>- Custom resource attributes
Metadata passthroughMetadata passthrough的直接链接
Non-reserved span attributes are serialized into the OpenInference metadata payload. Add them via tracingOptions.metadata (e.g., companyId, tier). Reserved fields such as input, output, sessionId, thread/user IDs, and OpenInference IDs are excluded automatically.
MethodsMethods的直接链接
exportTracingEventexporttracingevent的直接链接
async exportTracingEvent(event: TracingEvent): Promise<void>
Exports a tracing event to the configured endpoint.
exportexport的直接链接
async export(spans: ReadOnlySpan[]): Promise<void>
Batch exports spans using OpenTelemetry with OpenInference semantic conventions.
flushflush的直接链接
async flush(): Promise<void>
Force flushes any buffered spans to the configured endpoint without shutting down the exporter. Useful in serverless environments where you need to ensure spans are exported before the runtime terminates.
shutdownshutdown的直接链接
async shutdown(): Promise<void>
Flushes pending data and shuts down the client.
UsageUsage的直接链接
Zero-Config (using environment variables)Zero-Config (using environment variables)的直接链接
import { ArthurExporter } from '@mastra/arthur'
// Set ARTHUR_API_KEY and ARTHUR_BASE_URL (optionally ARTHUR_TASK_ID)
const exporter = new ArthurExporter()
Explicit ConfigurationExplicit Configuration的直接链接
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 conventionsopeninference-semantic-conventions的直接链接
The ArthurExporter implements OpenInference Semantic Conventions for generative AI applications, providing standardized trace structure across different observability platforms.
Tags supportTags support的直接链接
The ArthurExporter supports trace tagging for categorization and filtering. Tags are only applied to root spans and are mapped to the native OpenInference tag.tags semantic convention.
UsageUsage的直接链接
const result = await agent.generate('Hello', {
tracingOptions: {
tags: ['production', 'experiment-v2', 'user-request'],
},
})
How Tags Are StoredHow Tags Are Stored的直接链接
Tags are stored using the OpenInference tag.tags attribute:
{
"tag.tags": ["production", "experiment-v2", "user-request"]
}