> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # BraintrustExporter 将 Tracing 数据发送到 Braintrust,用于评估和可观测性。 ## 构造函数 ```typescript new BraintrustExporter(config: BraintrustExporterConfig) ``` ## `BraintrustExporterConfig` ```typescript interface BraintrustExporterConfig extends BaseExporterConfig { apiKey?: string endpoint?: string projectName?: string braintrustLogger?: Logger currentSpan?: () => Span | undefined tuningParameters?: Record } ``` 扩展 `BaseExporterConfig`,其中包含: - `logger?: IMastraLogger` - Logger 实例 - `logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'` - 日志级别(默认值:INFO) ## 方法 ### `exportTracingEvent` ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` 将 Tracing 事件导出到 Braintrust。 ### export ```typescript async export(spans: ReadOnlySpan[]): Promise ``` 将 Span 批量导出到 Braintrust。 ### flush ```typescript async flush(): Promise ``` 强制将缓冲区中的所有 Span 刷新到 Braintrust,而不关闭 Exporter。适用于需要确保运行时终止前已导出 Span 的 serverless 环境。 ### shutdown ```typescript async shutdown(): Promise ``` 刷新待处理数据并关闭客户端。 ## 用法 ### 零配置(使用环境变量) ```typescript import { BraintrustExporter } from '@mastra/braintrust' // Reads from BRAINTRUST_API_KEY, BRAINTRUST_ENDPOINT const exporter = new BraintrustExporter() ``` ### 显式配置 ```typescript import { BraintrustExporter } from '@mastra/braintrust' const exporter = new BraintrustExporter({ apiKey: process.env.BRAINTRUST_API_KEY, projectName: 'my-ai-project', }) ``` ## Span 类型映射 | Span 类型 | Braintrust 类型 | | --------------------------- | ------------- | | `MODEL_GENERATION` | `llm` | | `MODEL_CHUNK` | `llm` | | `TOOL_CALL` | `tool` | | `MCP_TOOL_CALL` | `tool` | | `PROVIDER_TOOL_CALL` | `tool` | | `WORKFLOW_CONDITIONAL_EVAL` | `function` | | `WORKFLOW_WAIT_EVENT` | `function` | | 所有其他类型 | `task` |