> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # DatadogExporter 將 Tracing 資料傳送至 Datadog 的 LLM Observability 產品,以供監察及分析。 > **資訊:** 如果你亦使用 `dd-trace` APM 自動檢測,並需要它正確地以 Mastra span 為父項,請改用 [DatadogBridge](https://mastra.zisheng.pro/zh-HK/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'` - Log 級別(預設:INFO) ## 方法 ### `exportTracingEvent` ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` 將 tracing event 匯出至 Datadog LLM Observability。 ### flush ```typescript async flush(): Promise ``` 在不關閉 exporter 的情況下,強制將所有已緩衝的 span 清送至 Datadog。這對無伺服器環境十分有用,可確保 span 在執行環境終止前完成匯出。 ### shutdown ```typescript async shutdown(): Promise ``` 清送待處理資料並關閉 exporter。取消所有待處理的清理計時器,並停用 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 種類: | Mastra SpanType | Datadog 種類 | | -------------------- | ---------- | | `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 金鑰 | | `DD_LLMOBS_ML_APP` | ML 應用程式名稱 | | `DD_SITE` | Datadog 網站 | | `DD_ENV` | 環境名稱 | | `DD_LLMOBS_AGENTLESS_ENABLED` | 設為 'false' 或 '0' 以使用本機 Agent |