Habilitar Dynamic Instrumentation para Node.js
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
- Instala o actualiza tu Agent a la versión 7.49.0 o posterior.
- 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. - Instala o actualiza la biblioteca de rastreo de Node.js a la versión 5.48.0 o posterior, siguiendo las instrucciones pertinentes.
- 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.
- 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. - 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 entorno | Tipo | Descripción |
|---|
DD_DYNAMIC_INSTRUMENTATION_ENABLED | Booleano | Selecciona true para activar Dynamic Instrumentation. |
DD_SERVICE | Cadena | El nombre de servicio, por ejemplo, web-backend. |
DD_ENV | Cadena | El nombre de entorno, por ejemplo, production. |
DD_VERSION | Cadena | La versión de tu servicio. |
DD_TAGS | Cadena | Etiquetas 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: