O agente New Relic Node.js oferece suporte à biblioteca de cliente amqplib RabbitMQ, fornecendo insights sobre o desempenho do processamento de mensagens, tanto para mensagens recebidas quanto para mensagens enviadas.
A interface APM mostrará a transação iniciada por meio do recebimento de mensagens RabbitMQ (assinar/consumir mensagens) como Message tarefas em segundo plano. A criação de mensagens via RabbitMQ também aparece no trace da transação.
Este recurso requer o agente New Relic Node.js versão 2.0.0 ou superior.
Melhorias de desempenho com tarefas em segundo plano
Uma maneira de aumentar a capacidade de resposta do aplicativo web é delegar trabalho a processos em segundo plano. fila de mensagens são comumente usadas para essa comunicação entre processos.
No contexto de sistemas de enfileiramento de mensagens, os aplicativos normalmente interagem com corretores de mensagens para enviar e receber mensagens. A biblioteca cliente amqplib
permite que o aplicativo Node.js faça interface com agentes de mensagens que implementam o Advanced Message Queuing Protocol (AMQP) 0.9 ou superior.
O agente Node.js da New Relic mostra mensagens enviadas e recebidas usando a biblioteca cliente RabbitMQ. Com essa visibilidade, você pode ver detalhes, incluindo:
- Número de mensagens produzidas pelo seu aplicativo
- Tempo que seu aplicativo gasta publicando mensagens
- Tempo que seu aplicativo gasta processando mensagens "consumidas"
O APM agrupa e relata convenientemente operações que interagem com filas. Ao analisar essas informações, você pode identificar mais facilmente gargalos e áreas para melhoria de desempenho em sua arquitetura de passagem de mensagens.
Operações de fila
Os pontos de entrada suportados para operações de fila aparecem como Put
(publicar uma mensagem) ou Take
(receber uma mensagem) na interface do usuário do APM.
Queue operations | Publish a message ( | Receive a message ( |
---|---|---|
RabbitMQ |
|
|
Ver na interface do New Relic
As operações de fila aparecem na páginaTransactions do APM para o aplicativo selecionado. As métricas Put
e Take
aparecem em Breakdown table e são categorizadas como métrica MessageBroker
. Aqui está um exemplo:
one.newrelic.com > All capabilities > APM & services > Applications > (select an app) > Transactions > (select a transaction): O Breakdown table da transação categoriza as operações da fila como métrica MessageBroker
e as rotula como Put
(publicar uma mensagem) ou Take
(receber uma mensagem).
A páginade resumo de transação da transação pode mostrar operações Put
e Take
na seção Componentes mais lentos . Por exemplo:
one.newrelic.com > All capabilities > APM & services > Applications > (select an app) > Summary > (select a transaction trace): Neste exemplo, o Summary do trace da transação selecionado mostra as operações do RabbitMQ no gráfico de barras coloridas. A seção Slowest components também lista os resultados Put
e Take
do RabbitMQ.
A páginaTransaction trace também inclui uma guia Messages dedicada que mostra um resumo da atividade da mensagem que ocorreu como parte da transação.
Dica
Você pode selecionar trace da transação nas páginas Summary ou Transactions do aplicativo em APM.