Este producto no es compatible con el sitio Datadog seleccionado. ().

Dynamic Instrumentation es una característica de apoyo para las bibliotecas de rastreo de Datadog. Si ya estás utilizando APM para recopilar trazas (traces) para tu aplicación, asegúrate de que tu Agent y biblioteca de rastreo están en la versión requerida. A continuación, ve directamente a la activación de Dynamic Instrumentation en el paso 4.

Instalación

  1. Instala o actualiza tu Agent a la versión 7.49.0 o posterior.
  2. Si aún no tienes APM habilitado, en tu configuración del Agent, establece la variable de entorno DD_APM_ENABLED en true y escuchando en el puerto 8126/TCP.
  3. Instala o actualiza la biblioteca de rastreo de Node.js a la versión 5.48.0 o posterior, siguiendo las instrucciones pertinentes.
  4. Si tu código fuente se transpila durante el despliegue (por ejemplo, si utilizas TypeScript), asegúrate de que los mapas de fuentes se publican junto con la aplicación Node.js desplegada.
  5. Ejecuta tu servicio con Dynamic Instrumentation habilitada, al configurar la variable de entorno DD_DYNAMIC_INSTRUMENTATION_ENABLED en true. Especifica las etiquetas (tags) de servicio unificado DD_SERVICE, DD_ENV y DD_VERSION para que puedas filtrar y agrupar tus instrumentaciones y dirigirte a los clientes activos a través de estas dimensiones.
  6. Después de iniciar tu servicio con Dynamic Instrumentation activada, puedes empezar a utilizar Dynamic Instrumentation en la página APM > Dynamic Instrumentation.

Configuración

Configurar Dynamic Instrumentation utilizando las siguientes variables de entorno:

Variable de entornoTipoDescripción
DD_DYNAMIC_INSTRUMENTATION_ENABLEDBooleanoSelecciona true para activar Dynamic Instrumentation.
DD_SERVICECadenaEl nombre de servicio, por ejemplo, web-backend.
DD_ENVCadenaEl nombre de entorno, por ejemplo, production.
DD_VERSIONCadenaLa versión de tu servicio.
DD_TAGSCadenaEtiquetas para aplicar a los datos producidos. Debe ser una lista de <key>:<value> separada por comas como: layer:api,team:intake.

Compatibilidad con mapas de fuentes

Si el código fuente de tu aplicación Node.js está transpilado o empaquetado, debes generar y publicar mapas de fuentes junto con el código, ya sea en línea o como archivos independientes.

  • TypeScript: Configura inlineSourceMap o sourceMap como true en el archivo de configuración de TypeScript.
  • Babel: Configura la opción sourceMaps en el archivo de configuración de Babel (consulta también la opción de CLI especial --source-maps, que se utiliza para generar archivos de mapas de fuentes independientes).
  • Webpack: Configura la opción devtools en el archivo de configuración de Webpack.
  • CoffeeScript: Utiliza --inline-map o --map como argumentos para la CLI coffee.

Nota: Para un mejor rendimiento en tiempo de ejecución, se recomienda no incluir el código fuente original en los mapas de fuentes.

¿Qué hacer a continuación?

Consulta Dynamic Instrumentation para obtener información sobre cómo añadir instrumentaciones y explorar e indexar los datos.

Limitaciones

Las siguientes limitaciones se aplican a la implementación de Node.js:

Funciones compatibles

Funciones no compatibles

  • Métricas, tramos y etiquetas de tramos (span) dinámicos
  • Logs dinámicos adjuntos a una función/un método
  • Redacción de PII basada en clases o tipos específicos

Referencias adicionales

Más enlaces, artículos y documentación útiles: