Skip to main content

ArizeExporter

Sends Tracing data to Arize Phoenix, Arize AX, or any OpenTelemetry-compatible observability platform that supports OpenInference semantic conventions.

Constructor

new ArizeExporter(config: ArizeExporterConfig)

ArizeExporterConfig

type ArizeExporterConfig = Omit<OtelExporterConfig, 'provider'> & {
// Phoenix / OpenTelemetry configuration
endpoint?: string;
apiKey?: string;

// Arize AX configuration
spaceId?: string;

// Common configuration
projectName?: string;
headers?: Record<string, string>;
}

Inherits from OtelExporterConfig (excluding provider), 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

Methods

exportTracingEvent

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

Exports a tracing event to the configured endpoint.

export

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

Batch exports spans using OpenTelemetry with OpenInference semantic conventions.

shutdown

async shutdown(): Promise<void>

Flushes pending data and shuts down the client.

Usage

Phoenix Configuration

import { ArizeExporter } from "@mastra/arize";

const exporter = new ArizeExporter({
endpoint: "http://localhost:6006/v1/traces",
apiKey: process.env.PHOENIX_API_KEY, // Optional for local Phoenix
projectName: "my-ai-project",
});

Arize AX Configuration

import { ArizeExporter } from "@mastra/arize";

const exporter = new ArizeExporter({
spaceId: process.env.ARIZE_SPACE_ID!,
apiKey: process.env.ARIZE_API_KEY!,
projectName: "my-ai-project",
});

OpenInference Semantic Conventions

The ArizeExporter implements OpenInference Semantic Conventions for generative AI applications, providing standardized trace structure across different observability platforms.