跳至主要內容

DatadogExporter

將 Tracing 資料傳送至 Datadog 的 LLM Observability 產品,以供監察及分析。

資訊

如果你亦使用 dd-trace APM 自動檢測,並需要它正確地以 Mastra span 為父項,請改用 DatadogBridge。exporter 會在執行完成後傳送 LLM Observability 資料,因此不會參與 dd-trace 的即時 scope。

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

new DatadogExporter(config: DatadogExporterConfig)

DatadogExporterConfig
datadogexporterconfig 的直接連結

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
exporttracingevent 的直接連結

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

將 tracing event 匯出至 Datadog LLM Observability。

flush
flush 的直接連結

async flush(): Promise<void>

在不關閉 exporter 的情況下,強制將所有已緩衝的 span 清送至 Datadog。這對無伺服器環境十分有用,可確保 span 在執行環境終止前完成匯出。

shutdown
shutdown 的直接連結

async shutdown(): Promise<void>

清送待處理資料並關閉 exporter。取消所有待處理的清理計時器,並停用 LLM Observability。

用法
用法 的直接連結

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

import { DatadogExporter } from '@mastra/datadog'

// Reads from DD_LLMOBS_ML_APP, DD_API_KEY, DD_SITE, DD_ENV
const exporter = new DatadogExporter()

明確設定
明確設定 的直接連結

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
配合本機 Datadog Agent 的直接連結

const exporter = new DatadogExporter({
mlApp: 'my-llm-app',
agentless: false, // Use local Datadog Agent
env: 'production',
})

Span 對應
Span 對應 的直接連結

Mastra span 類型會對應至 Datadog LLM Observability span 種類:

Mastra SpanTypeDatadog 種類
AGENT_RUNagent
MODEL_GENERATIONworkflow
MODEL_STEPllm
TOOL_CALLtool
MCP_TOOL_CALLtool
PROVIDER_TOOL_CALLtool
WORKFLOW_RUNworkflow
所有其他類型task

所有未有對應的 span 類型(包括 MODEL_CHUNKWORKFLOW_STEPGENERIC 及日後新增的 span 類型)均會自動預設為 task

環境變數
環境變數 的直接連結

exporter 會從以下環境變數讀取設定:

變數說明
DD_API_KEYDatadog API 金鑰
DD_LLMOBS_ML_APPML 應用程式名稱
DD_SITEDatadog 網站
DD_ENV環境名稱
DD_LLMOBS_AGENTLESS_ENABLED設為 'false' 或 '0' 以使用本機 Agent