El agente New Relic Node.js es compatible con la biblioteca cliente amqplib RabbitMQ, lo que le brinda información valiosa sobre el rendimiento del procesamiento de mensajes, tanto para mensajes entrantes como salientes.
La UI de APM mostrará la transacción iniciada a través de la recepción de mensajes de RabbitMQ (suscripción/consumo de mensajes) como Message tareas en segundo plano. La creación de mensajes a través de RabbitMQ también aparece en la traza de la transacción.
Esta característica requiere la versión 2.0.0 o superior del agente New Relic Node.js.
Mejoras de rendimiento con tareas en segundo plano.
Una forma de aumentar la capacidad de respuesta de la aplicación web es delegar el trabajo a procesos en segundo plano. La cola de mensajes se utiliza comúnmente para esta comunicación entre procesos.
En el contexto de los sistemas de colas de mensajes, la aplicación suele interactuar con los intermediarios de mensajes para enviar y recibir mensajes. La biblioteca cliente amqplib
permite que la aplicación Node.js interactúe con agentes de mensajes que implementan el protocolo avanzado de cola de mensajes (AMQP) 0.9 o superior.
El agente Node.js de New Relic muestra los mensajes enviados y recibidos utilizando la biblioteca cliente RabbitMQ. Con esta visibilidad, puede ver detalles que incluyen:
- Número de mensajes producidos por tu aplicación
- Tiempo que tu aplicación dedica a publicar mensajes
- Tiempo que su aplicación dedica a procesar mensajes "consumidos"
APM agrupa e informa convenientemente operaciones que interactúan con las colas. Al analizar esta información, puede identificar más fácilmente el cuello de botella y las áreas de mejora del rendimiento en su arquitectura de transmisión de mensajes.
Operaciones en cola
Los puntos de entrada admitidos para operaciones de cola aparecen como Put
(publicar un mensaje) o Take
(recibir un mensaje) en la interfaz de usuario de APM.
Queue operations | Publish a message ( | Receive a message ( |
---|---|---|
RabbitMQ |
|
|
Ver en UIde New Relic
Las operaciones en cola aparecen en la páginaTransactions de APM para la aplicación seleccionada. Las Put
y Take
métricas aparecen en la Breakdown table y se categorizan como MessageBroker
métrica. Aquí hay un ejemplo:
one.newrelic.com > All capabilities > APM & services > Applications > (select an app) > Transactions > (select a transaction): El Breakdown table de la transacción categoriza las operaciones de cola como MessageBroker
métrica y las etiqueta como Put
(publicar un mensaje) o Take
(recibir un mensaje).
La páginade resumen de la traza de la transacción puede mostrar las operaciones Put
y Take
en la sección Componentes más lentos . Por ejemplo:
one.newrelic.com > All capabilities > APM & services > Applications > (select an app) > Summary > (select a transaction trace): En este ejemplo, la traza de la transacción Summary seleccionada muestra las operaciones de RabbitMQ en el gráfico de barras de colores. La sección Slowest components también enumera los resultados de RabbitMQ Put
y Take
.
La páginaTransaction trace también incluye una pestaña dedicada Messages que muestra un resumen de la actividad de mensajes que ocurrió como parte de la transacción.
Sugerencia
Puede seleccionar la traza de la transacción desde las páginas Summary o Transactions de la aplicación en APM.