Aller au contenu principal

DatadogExporter

Envoie les données de Tracing au produit LLM Observability de Datadog à des fins de surveillance et d'analyse.

info

Si vous utilisez également l'auto-instrumentation APM de dd-trace et devez la rattacher correctement aux spans Mastra, utilisez plutôt DatadogBridge. L'Exporter envoie les données LLM Observability à la fin de l'exécution ; il ne participe donc pas à la portée active de dd-trace.

Constructeur
Lien direct vers Constructeur

new DatadogExporter(config: DatadogExporterConfig)

DatadogExporterConfig
Lien direct vers datadogexporterconfig

interface DatadogExporterConfig extends BaseExporterConfig {
apiKey?: string
mlApp?: string
site?: string
service?: string
env?: string
agentless?: boolean
integrationsEnabled?: boolean
}

Étend BaseExporterConfig, qui comprend :

  • logger?: IMastraLogger - Instance du Logger
  • logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error' - Niveau de journalisation (par défaut : INFO)

Méthodes
Lien direct vers Méthodes

exportTracingEvent
Lien direct vers exporttracingevent

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

Exporte un événement de Tracing vers Datadog LLM Observability.

flush
Lien direct vers flush

async flush(): Promise<void>

Force l'envoi à Datadog de tous les spans en mémoire tampon sans arrêter l'Exporter. Cette méthode est utile dans les environnements serverless où vous devez vous assurer que les spans sont exportés avant la fin de l'environnement d'exécution.

shutdown
Lien direct vers shutdown

async shutdown(): Promise<void>

Envoie les données en attente et arrête l'Exporter. Annule tous les minuteurs de nettoyage en attente et désactive LLM Observability.

Utilisation
Lien direct vers Utilisation

Sans configuration (au moyen de variables d'environnement)
Lien direct vers Sans configuration (au moyen de variables d'environnement)

import { DatadogExporter } from '@mastra/datadog'

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

Configuration explicite
Lien direct vers Configuration explicite

import { DatadogExporter } from '@mastra/datadog'

const exporter = new DatadogExporter({
mlApp: 'my-llm-app',
apiKey: process.env.DD_API_KEY,
site: 'datadoghq.com',
env: 'production',
})

Avec l'Agent Datadog local
Lien direct vers Avec l'Agent Datadog local

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

Mappage des spans
Lien direct vers Mappage des spans

Les types de spans Mastra sont associés aux catégories de spans de Datadog LLM Observability :

SpanType MastraCatégorie Datadog
AGENT_RUNagent
MODEL_GENERATIONworkflow
MODEL_STEPllm
TOOL_CALLtool
MCP_TOOL_CALLtool
PROVIDER_TOOL_CALLtool
WORKFLOW_RUNworkflow
Tous les autres typestask

Tous les types de spans sans correspondance (notamment MODEL_CHUNK, WORKFLOW_STEP, GENERIC et les futurs types de spans) utilisent automatiquement task par défaut.

Variables d'environnement
Lien direct vers Variables d'environnement

L'Exporter lit sa configuration dans les variables d'environnement suivantes :

VariableDescription
DD_API_KEYClé d'API Datadog
DD_LLMOBS_ML_APPNom de l'application ML
DD_SITESite Datadog
DD_ENVNom de l'environnement
DD_LLMOBS_AGENTLESS_ENABLEDDéfinissez cette variable sur 'false' ou '0' pour utiliser l'Agent local