Análisis de los traces de aplicación
con el package APPSERVICE-NODEJS


ServicePilot apptrace-appservice-nodejs


¿Qué es Node.js?

Node.js es un entorno de servidor multiplataforma de código abierto que puede ejecutarse en Windows, Linux, Unix, macOS, etc. Node.js es un entorno de ejecución JavaScript de back-end, se ejecuta en el motor JavaScript V8 y ejecuta código JavaScript fuera de un navegador web.

Node.js permite a los desarrolladores utilizar JavaScript para escribir herramientas de línea de comandos y para secuencias de comandos del lado del servidor. La capacidad de ejecutar código JavaScript en el servidor se utiliza a menudo para generar contenido dinámico de páginas web antes de que la página se envíe al navegador web del usuario. En consecuencia, Node.js representa un paradigma de "JavaScript en todas partes", unificando el desarrollo de aplicaciones web en torno a un único lenguaje de programación, en lugar de utilizar lenguajes diferentes para la programación del lado del servidor y del lado del cliente.

Node.js tiene una arquitectura basada en eventos capaz de realizar E/S asíncronas. Estas elecciones de diseño tienen como objetivo optimizar el rendimiento y la escalabilidad en aplicaciones web con muchas operaciones de entrada/salida.

Instrumentación de aplicaciones Node.js

El Agente ServicePilot, junto con una librería de instrumentación Node.js, permite recoger métricas de rendimiento y errores del servidor de aplicaciones. Dependiendo de la librería de instrumentación elegida, puede tener soporte integrado para los frameworks y routers más populares.

La librería APM auto-instrumenta los frameworks soportados y registra eventos interesantes, como peticiones HTTP y consultas a bases de datos. Para ello, parchea los módulos a medida que se cargan para capturar cuándo se llaman las funciones y callbacks de los módulos. Además, hay algunos casos en los que un módulo se parchea para permitir que el contexto de rastreo se propague a través de la continuación asíncrona. Esto significa que para las tecnologías soportadas, no se requieren cambios en el código.

El Agente enlaza automáticamente las llamadas a funciones del módulo con las llamadas callback para medir su duración y metadatos (como la sentencia DB), así como información relacionada con HTTP (como la URL, parámetros y cabeceras).

Monitorización de trazas de aplicaciones Node.js

Los recursos se crean automáticamente a partir de este package después de haber desplegado el agente ServicePilot junto con la configuración adecuada de la librería Node.js APM. Este package monitoriza HTTP(S) peticiones web desde procesos Node.js.

Esto recoge estadísticas resumidas (min, max, avg...) por cada aplicación Node.js como:

  • Consultas por minuto
  • Suma de consultas por código de retorno HTTP y métodos
  • Número de consultas en cada intervalo de tiempo de respuesta
  • Consultas establecidas o terminadas

A fin de proporcionar una comprensión profunda de la aplicación de Node.js, los detalles recopilados por cada transacción incluyen

  • Host y ruta de la página web
  • IP del cliente y del servidor
  • Tiempo de respuesta real del usuario
  • Código de retorno HTTP y método
  • País y geolocalización de las IP públicas

Soluciones Análisis de flujos de redes