Los SDK de Datadog implementan las API de rastreo de OpenTelemetry, lo que te permite utilizar variables de entorno de OpenTelemetry para configurar el rastreo de Datadog en tus aplicaciones. Sustituye el SDK de OpenTelemetry por el SDK de Datadog en tu aplicación para recibir trazas (traces) y telemetría adicional Datadog con cambios mínimos en tu configuración existente. Esta página describe las opciones de SDK de OpenTelemetry compatibles con Datadog.

Si se configuran variables de entorno de Datadog y de OpenTelemetry, Datadog tiene prioridad. Los valores por defecto de Datadog también sustituyen los valores por defecto de OpenTelemetry. Consulta la página de configuración de SDK correspondiente para conocer los valores por defecto y obtener más información.

Configuración general de SDK

Los SDK de Datadog admiten las siguientes opciones generales de SDK de OpenTelemetry. Para obtener más información, consulta la documentación de OpenTelemetry relacionada.

OTEL_SERVICE_NAME
Convención Datadog: DD_SERVICE
Define el nombre del servicio
Notas: Si service.name también se proporciona en OTEL_RESOURCE_ATTRIBUTES, entonces OTEL_SERVICE_NAME tiene prioridad
OTEL_LOG_LEVEL
Convención Datadog: DD_LOG_LEVEL
Nivel de log utilizado por el generador de logs del SDK
Notas: Un nivel de log de depuración también se asigna a DD_TRACE_DEBUG=true
En los SDK de Node.js y PHP se asigna a DD_TRACE_LOG_LEVEL
En el SDK de Go solo se admiten valores asignados entre OTEL_LOG_LEVEL y DD_TRACE_DEBUG:
  • info|false
  • debug|true
    **No compatible con los SDK de Python.NET, Ruby, y Go
OTEL_PROPAGATORS
Convención Datadog: DD_TRACE_PROPAGATION_STYLE
Propagadores que deben utilizarse como listas separadas por comas.
Notas: Los únicos valores compatibles con la mayoría de los SDK de Datadog son tracecontext, b3, b3multi, none, datadog. xray también es compatible con el SDK de Java.
Los valores DEBEN estar deduplicados para registrar un Propagator solo una vez.
OTEL_TRACES_SAMPLER & OTEL_TRACES_SAMPLER_ARG
Convención Datadog: DD_TRACE_SAMPLE_RATE
OTEL_TRACES_SAMPLER: Muestreador que debe utilizarse para trazas y OTEL_TRACES_SAMPLER_ARG: Valor de cadena que se debe utilizar como argumento del muestreador.
Notas: El valor especificado solo se utiliza si OTEL_TRACES_SAMPLER está configurado. Cada tipo de muestreador define su propia entrada esperada, si la hay. Las entradas no válidas o no reconocidas DEBEN registrarse y DEBEN ignorarse. En tales casos, la implementación DEBE comportarse como si OTEL_TRACES_SAMPLER_ARG no estuviera configurado.
Valores asignados entre OTEL_TRACES_SAMPLER y DD_TRACE_SAMPLE_RATE:
  • parentbased_always_on|1.0
  • parentbased_always_off|0.0
  • parentbased_traceidratio|${OTEL_TRACES_SAMPLER_ARG}
  • always_on|1.0
  • always_off|0.0
  • traceidratio|${OTEL_TRACES_SAMPLER_ARG}
OTEL_TRACES_EXPORTER
Convención Datadog: DD_TRACE_ENABLED=false
Exportador de trazas que se debe utilizar
Notas: Solo se acepta un valor none
OTEL_METRICS_EXPORTER
Convención Datadog: DD_RUNTIME_METRICS_ENABLED=false
Exportador de métricas que se debe utilizar
Notas: Solo se acepta un valor none
OTEL_RESOURCE_ATTRIBUTES
Convención Datadog: DD_TAGS
Pares clave-valor que se deben utilizar como atributos de recursos. Consulta Convenciones semánticas de recursos para ver más detalles
Notas: Solo se utilizan los 10 primeros pares clave-valor y los valores siguientes se descartan
deployment.environment y deployment.environment.name se asignan a la variable de entorno DD_ENV
service.name se asigna a la variable de entorno DD_SERVICE
service.version se asigna a la variable de entorno DD_VERSION
OTEL_SDK_DISABLED
Convención Datadog: !DD_TRACE_OTEL_ENABLED
Desactivar el SDK para todas las señales
Notas: Valores asignados entre OTEL_SDK_DISABLED y DD_TRACE_OTEL_ENABLED:
  • true|false
  • false|true
    SDK de Ruby Go: El SDK de OpenTelemetry se activa automáticamente al importarlo y configurarlo, por lo que este ajuste no es aplicable.

Java-específico Configuración

Los SDK de Datadog admiten las siguientes opciones de configuración de OpenTelemetry específicas de Java. Para obtener más información, consulta la documentación de OpenTelemetry sobre la configuración del Agent Java.

OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED
Convención Datadog: !DD_INTEGRATIONS_ENABLED
Configurar como false para desactivar toda la instrumentación en el Agent
Notas: Valores asignados entre OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED y DD_INTEGRATIONS_ENABLED:
  • true|false
  • false|true
OTEL_INSTRUMENTATION_[NAME]_ENABLED
Descripción: Activa/desactiva la instrumentación drop-in OTel nombrada.
OTEL_JAVAAGENT_CONFIGURATION_FILE
Convención Datadog: DD_TRACE_CONFIG
Ruta al archivo de propiedades Java válido que contiene la configuración del Agent
Notas: Cuando OTEL_JAVAAGENT_CONFIGURATION_FILE y DD_TRACE_CONFIG están ambos configurados, aplicamos la configuración de ambos archivos. Esta es una excepción a la regla habitual en la que la configuración de Datadog tiene prioridad sobre la de OTel.
OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_REQUEST_HEADERS
Convención Datadog: DD_TRACE_REQUEST_HEADER_TAGS
Una lista separada por comas de nombres de cabeceras HTTP. Las instrumentaciones de clientes HTTP capturan los valores de cabecera de solicitudes HTTP de todos los nombres de cabecera configurados
Notas: El etiquetado de cabeceras configurado utilizando variables de entorno OTel sigue la convención de nombres de las etiquetas (tags) OTel de http.request.header.<header-name>, en lugar de la convención Datadog de http.request.headers.<header-name>
OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_RESPONSE_HEADERS
Convención Datadog: DD_TRACE_RESPONSE_HEADER_TAGS
Una lista separada por comas de nombres de cabeceras HTTP. Las instrumentaciones de clientes HTTP capturan los valores de cabecera de respuestas HTTP de todos los nombres de cabecera configurados
Notas: El etiquetado de cabeceras configurado utilizando variables de entorno OTel sigue la convención de nombres de las etiquetas OTel de http.response.header.<header-name>, en lugar de la convención Datadog de http.response.headers.<header-name>
OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_REQUEST_HEADERS
Convención Datadog: DD_TRACE_REQUEST_HEADER_TAGS
Una lista separada por comas de nombres de cabeceras HTTP. Las instrumentaciones de servidores HTTP capturan los valores de cabecera de solicitudes HTTP de todos los nombres de cabecera configurados
Notas: El etiquetado de cabeceras configurado utilizando variables de entorno OTel sigue la convención de nombres de las etiquetas OTel de http.request.header.<header-name>, en lugar de la convención Datadog de http.request.headers.<header-name>
OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_RESPONSE_HEADERS
Convención Datadog: DD_TRACE_RESPONSE_HEADER_TAGS
Una lista separada por comas de nombres de cabeceras HTTP. Las instrumentaciones de servidores HTTP capturan los valores de cabecera de respuestas HTTP de todos los nombres de cabecera configurados
Notas: El etiquetado de cabeceras configurado utilizando variables de entorno OTel sigue la convención de nombres de las etiquetas OTel de http.response.header.<header-name>, en lugar de la convención Datadog de http.response.headers.<header-name>
OTEL_JAVAAGENT_EXTENSIONS
Convención Datadog: DD_TRACE_EXTENSIONS_PATH
Una lista separada por comas de rutas a archivos de extensión jar o carpetas que contienen archivos jar. Si apunta a una carpeta, cada archivo jar de esa carpeta se trata como una extensión separada e independiente.

Referencias adicionales