跳到主要内容

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' - 日志级别(默认值:INFO)

方法
方法的直接链接

exportTracingEvent
exporttracingevent的直接链接

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

将 Tracing 事件导出到 Datadog LLM Observability。

flush
flush的直接链接

async flush(): Promise<void>

强制将缓冲区中的所有 Span 刷新到 Datadog,而不关闭 Exporter。适用于需要确保运行时终止前已导出 Span 的 serverless 环境。

shutdown
shutdown的直接链接

async shutdown(): Promise<void>

刷新待处理数据并关闭 Exporter。取消所有待处理的清理 timer,并禁用 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 kind:

Mastra SpanTypeDatadog kind
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 key
DD_LLMOBS_ML_APPML 应用名称
DD_SITEDatadog 站点
DD_ENV环境名称
DD_LLMOBS_AGENTLESS_ENABLED设为 'false' 或 '0' 以使用本地 Agent