# DatadogExporter Sends Tracing data to Datadog's LLM Observability product for monitoring and analytics. ## Constructor ```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; } ``` Extends `BaseExporterConfig`, which includes: - `logger?: IMastraLogger` - Logger instance - `logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'` - Log level (default: INFO) ## Methods ### exportTracingEvent ```typescript async exportTracingEvent(event: TracingEvent): Promise ``` Exports a tracing event to Datadog LLM Observability. ### flush ```typescript async flush(): Promise ``` Force flushes any buffered spans to Datadog without shutting down the exporter. Useful in serverless environments where you need to ensure spans are exported before the runtime terminates. ### shutdown ```typescript async shutdown(): Promise ``` Flushes pending data and shuts down the exporter. Cancels any pending cleanup timers and disables LLM Observability. ## Usage ### Zero-Config (using environment variables) ```typescript import { DatadogExporter } from "@mastra/datadog"; // Reads from DD_LLMOBS_ML_APP, DD_API_KEY, DD_SITE, DD_ENV const exporter = new DatadogExporter(); ``` ### Explicit Configuration ```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", }); ``` ### With Local Datadog Agent ```typescript const exporter = new DatadogExporter({ mlApp: "my-llm-app", agentless: false, // Use local Datadog Agent env: "production", }); ``` ## Span Mapping Mastra span types are mapped to Datadog LLMObs span kinds: | Mastra SpanType | Datadog Kind | | ------------------ | ------------ | | `AGENT_RUN` | `agent` | | `MODEL_GENERATION` | `workflow` | | `MODEL_STEP` | `llm` | | `TOOL_CALL` | `tool` | | `MCP_TOOL_CALL` | `tool` | | `WORKFLOW_RUN` | `workflow` | | All other types | `task` | All unmapped span types (including `MODEL_CHUNK`, `WORKFLOW_STEP`, `GENERIC`, and future span types) automatically default to `task`. ## Environment Variables The exporter reads configuration from these environment variables: | Variable | Description | | ----------------------------- | ---------------------------------------- | | `DD_API_KEY` | Datadog API key | | `DD_LLMOBS_ML_APP` | ML application name | | `DD_SITE` | Datadog site | | `DD_ENV` | Environment name | | `DD_LLMOBS_AGENTLESS_ENABLED` | Set to 'false' or '0' to use local agent |