跳至主要內容

ArizeExporter

將 Tracing 資料傳送至 Arize Phoenix、Arize AX,或任何支援 OpenInference semantic convention 且與 OpenTelemetry 相容的可觀測性平台。

建構函式
「建構函式」的直接連結

new ArizeExporter(config: ArizeExporterConfig)

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>
}

繼承自 OtelExporterConfig(排除 provider),其中包括:

  • timeout?: number - 匯出逾時(毫秒,預設:30000)
  • batchSize?: number - 每批 span 數量(預設:512)
  • logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error' - Log 層級(預設:WARN)
  • resourceAttributes?: Record<string, any> - 自訂 resource 屬性

Metadata 傳遞
「Metadata 傳遞」的直接連結

非保留的 span 屬性會序列化到 OpenInference metadata payload。請透過 tracingOptions.metadata 新增(例如 companyIdtier)。inputoutputsessionId、thread/user ID 與 OpenInference ID 等保留欄位會自動排除。

方法
「方法」的直接連結

exportTracingEvent
「exporttracingevent」的直接連結

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

將 tracing 事件匯出至設定的 endpoint。

export
「export」的直接連結

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

使用 OpenTelemetry 與 OpenInference semantic convention 批次匯出 span。

flush
「flush」的直接連結

async flush(): Promise<void>

強制將所有緩衝的 span flush 至設定的 endpoint,而不關閉 exporter。這在 serverless 環境中特別實用,可確保 runtime 結束前已匯出 span。

shutdown
「shutdown」的直接連結

async shutdown(): Promise<void>

Flush 待處理資料並關閉 client。

使用方式
「使用方式」的直接連結

零設定(使用環境變數)
「零設定(使用環境變數)」的直接連結

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 設定
「Phoenix 設定」的直接連結

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 設定
「Arize AX 設定」的直接連結

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 convention
「openinference-semantic-conventions」的直接連結

ArizeExporter 會為生成式 AI 應用程式實作 OpenInference Semantic Conventions,在不同可觀測性平台之間提供標準化的 trace 結構。

標籤支援
「標籤支援」的直接連結

ArizeExporter 支援以 trace 標籤進行分類與篩選。標籤只會套用至根 span,並對應至原生 OpenInference tag.tags semantic convention。

使用方式
「使用方式」的直接連結

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

標籤的儲存方式
「標籤的儲存方式」的直接連結

標籤會使用 OpenInference tag.tags 屬性儲存:

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