> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # ArizeExporter 将 Tracing 数据发送到 Arize Phoenix、Arize AX 或任何支持 OpenInference 语义约定且兼容 OpenTelemetry 的可观测性平台。 ## 构造函数 ```typescript new ArizeExporter(config: ArizeExporterConfig) ``` ## `ArizeExporterConfig` ```typescript type ArizeExporterConfig = Omit & { // Phoenix / OpenTelemetry configuration endpoint?: string apiKey?: string // Arize AX configuration spaceId?: string // Common configuration projectName?: string headers?: Record } ``` 继承自 `OtelExporterConfig`(不包括 `provider`),其中包含: - `timeout?: number` - 导出超时时间(毫秒,默认值:30000) - `batchSize?: number` - 每批 Span 的数量(默认值:512) - `logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'` - 日志级别(默认值:WARN) - `resourceAttributes?: Record` - 自定义资源属性 ### 元数据透传 非保留的 Span 属性会序列化到 OpenInference `metadata` payload 中。可通过 `tracingOptions.metadata` 添加这些属性(例如 `companyId`、`tier`)。`input`、`output`、`sessionId`、thread/user ID 和 OpenInference ID 等保留字段会自动排除。 ## 方法 ### `exportTracingEvent` ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` 将 Tracing 事件导出到配置的 endpoint。 ### export ```typescript async export(spans: ReadOnlySpan[]): Promise ``` 使用 OpenTelemetry 和 OpenInference 语义约定批量导出 Span。 ### flush ```typescript async flush(): Promise ``` 强制将缓冲区中的所有 Span 刷新到配置的 endpoint,而不关闭 Exporter。适用于需要确保运行时终止前已导出 Span 的 serverless 环境。 ### shutdown ```typescript async shutdown(): Promise ``` 刷新待处理数据并关闭客户端。 ## 用法 ### 零配置(使用环境变量) ```typescript import { ArizeExporter } from '@mastra/arize' // For Phoenix: Set PHOENIX_COLLECTOR_ENDPOINT, PHOENIX_API_KEY, PHOENIX_PROJECT_NAME // For Arize AX: Set ARIZE_SPACE_ID, ARIZE_API_KEY, ARIZE_PROJECT_NAME const exporter = new ArizeExporter() ``` ### Phoenix 配置 ```typescript 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 配置 ```typescript 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` 语义约定 ArizeExporter 为生成式 AI 应用实现了 [OpenInference 语义约定](https://github.com/Arize-ai/openinference/tree/main/spec),可在不同可观测性平台之间提供标准化的 Trace 结构。 ## Tag 支持 ArizeExporter 支持为 Trace 添加 tag,以便分类和筛选。Tag 仅应用于根 Span,并映射到原生 OpenInference `tag.tags` 语义约定。 ### 用法 ```typescript const result = await agent.generate('Hello', { tracingOptions: { tags: ['production', 'experiment-v2', 'user-request'], }, }) ``` ### Tag 的存储方式 Tag 使用 OpenInference `tag.tags` 属性存储: ```json { "tag.tags": ["production", "experiment-v2", "user-request"] } ``` ## 相关内容 - [ArizeExporter 文档](https://mastra.zisheng.pro/docs/observability/integrations/exporters/arize) - [Phoenix 文档](https://docs.arize.com/phoenix) - [Arize AX 文档](https://docs.arize.com/)