Activación de Node.js Profiler
El generador de perfiles se incluye en las bibliotecas de rastreo de Datadog. Si ya estás utilizando APM para recopilar trazas (traces) para tu aplicación, puedes omitir la instalación de biblioteca e ir directamente a habilitar el generador de perfiles.
Requisitos
Para obtener un resumen de las versiones mínimas y recomendadas del tiempo de ejecución y del rastreador en todos los lenguajes, consulta Versiones de lenguaje y rastreadores compatibles.
Datadog Profiler requiere al menos Node.js 14, pero Node.js 16 o posterior es recomendado. Si utilizas una versión de Node.js anterior a la 16, algunas aplicaciones verán picos de latencia de cola cada minuto al iniciar el siguiente perfil.
Continuous Profiler no es compatible con las plataformas serverless, como AWS Lambda.
Instalación
Para empezar a crear perfiles de aplicaciones:
Asegúrate de que Datadog Agent v6+ está instalado y en funcionamiento. Datadog recomienda utilizar Datadog Agent v7+.
Ejecuta npm install --save dd-trace@latest
para añadir una dependencia del módulo dd-trace
que incluye el generador de perfiles.
Activa el generador de perfiles:
export DD_PROFILING_ENABLED=true
export DD_ENV=prod
export DD_SERVICE=my-web-app
export DD_VERSION=1.0.3
Nota: Si ya estás utilizando Datadog APM, ya estás llamando a init
y no necesitas hacerlo de nuevo. Si no es así, asegúrate de que el rastreador y el generador de perfiles se cargan juntos:
node -r dd-trace/init app.js
const tracer = require('dd-trace').init({
profiling: true,
env: 'prod',
service: 'my-web-app',
version: '1.0.3'
})
Nota: Si ya estás utilizando Datadog APM, ya estás llamando a init
y no necesitas hacerlo de nuevo. Si no es así, asegúrate de que el rastreador y el generador de perfiles se cargan juntos:
const tracer = require('dd-trace/init')
Opcional: configura la integración del código fuente.
Uno o dos minutos después de iniciar tu aplicación de Node.js, tus perfiles aparecerán en la página Datadog APM > Generador de perfiles.
¿No sabes qué hacer a continuación?
La guía Empezando con el generador de perfiles toma un ejemplo de servicio con un problema de rendimiento y te muestra cómo utilizar Continuous Profiler para comprender y solucionar el problema.
¿Tienes una carga elevada?
Node.js 16 o posterior es recomendado. En versiones anteriores, algunas aplicaciones verán picos de latencia de cola cada minuto mientras se inicia el siguiente perfil.
Referencias adicionales
Más enlaces, artículos y documentación útiles: