> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # DatadogExporter 将 Tracing 数据发送到 Datadog 的 LLM Observability 产品,用于监控和分析。 > **信息:** 如果你还使用 `dd-trace` APM 自动埋点,并且需要将其正确设为 Mastra Span 的子项,请改用 [DatadogBridge](https://mastra.zisheng.pro/reference/observability/tracing/bridges/datadog)。Exporter 会在执行完成后发送 LLM Observability 数据,因此不会参与 `dd-trace` 的实时 scope。 ## 构造函数 ```typescript new DatadogExporter(config: DatadogExporterConfig) ``` ## `DatadogExporterConfig` ```typescript interface DatadogExporterConfig extends BaseExporterConfig { apiKey?: string mlApp?: string site?: string service?: string env?: string agentless?: boolean integrationsEnabled?: boolean } ``` 扩展 `BaseExporterConfig`,其中包含: - `logger?: IMastraLogger` - Logger 实例 - `logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'` - 日志级别(默认值:INFO) ## 方法 ### `exportTracingEvent` ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` 将 Tracing 事件导出到 Datadog LLM Observability。 ### flush ```typescript async flush(): Promise ``` 强制将缓冲区中的所有 Span 刷新到 Datadog,而不关闭 Exporter。适用于需要确保运行时终止前已导出 Span 的 serverless 环境。 ### shutdown ```typescript async shutdown(): Promise ``` 刷新待处理数据并关闭 Exporter。取消所有待处理的清理 timer,并禁用 LLM Observability。 ## 用法 ### 零配置(使用环境变量) ```typescript import { DatadogExporter } from '@mastra/datadog' // Reads from DD_LLMOBS_ML_APP, DD_API_KEY, DD_SITE, DD_ENV const exporter = new DatadogExporter() ``` ### 显式配置 ```typescript import { DatadogExporter } from '@mastra/datadog' const exporter = new DatadogExporter({ mlApp: 'my-llm-app', apiKey: process.env.DD_API_KEY, site: 'datadoghq.com', env: 'production', }) ``` ### 使用本地 Datadog Agent ```typescript const exporter = new DatadogExporter({ mlApp: 'my-llm-app', agentless: false, // Use local Datadog Agent env: 'production', }) ``` ## Span 映射 Mastra Span 类型会映射到 Datadog LLM Observability Span kind: | Mastra SpanType | Datadog kind | | -------------------- | ------------ | | `AGENT_RUN` | `agent` | | `MODEL_GENERATION` | `workflow` | | `MODEL_STEP` | `llm` | | `TOOL_CALL` | `tool` | | `MCP_TOOL_CALL` | `tool` | | `PROVIDER_TOOL_CALL` | `tool` | | `WORKFLOW_RUN` | `workflow` | | 所有其他类型 | `task` | 所有未映射的 Span 类型(包括 `MODEL_CHUNK`、`WORKFLOW_STEP`、`GENERIC` 和未来的 Span 类型)都会自动默认映射为 `task`。 ## 环境变量 Exporter 从以下环境变量读取配置: | 变量 | 说明 | | ----------------------------- | ---------------------------- | | `DD_API_KEY` | Datadog API key | | `DD_LLMOBS_ML_APP` | ML 应用名称 | | `DD_SITE` | Datadog 站点 | | `DD_ENV` | 环境名称 | | `DD_LLMOBS_AGENTLESS_ENABLED` | 设为 'false' 或 '0' 以使用本地 Agent |