New Relic para Node.js instrumenta automaticamente a maioria das solicitações web padrão, mas às vezes você deseja instrumentação expandida. Com a API de instrumentação personalizada do agente, você pode criar instrumentação para estruturas da Web, armazenamentos de dados e clientes de serviços de mensagens que não teriam suporte.
A API de instrumentação personalizada do agente Node.js também permite:
- Create transação da web (útil para coisas como web sockets, onde a transação não pode ser criada automaticamente).
- Crie transações em segundo plano que não sejam da Web (útil para registrar trabalhos em segundo plano).
- seções específicas do destino do seu código para uma análise mais profunda.
Requisitos de versão do agente
Os métodos de instrumentação personalizada neste documento estão disponíveis a partir do agente Node.js versão 2.0.0. Para obter informações sobre instrumentação usando a API de instrumentação personalizada v1.x, consulte a documentação da instrumentação personalizada herdada do Node.js.
Framework web não suportado por instrumento
A partir da versão 2.0.0 do agente Node.js, New Relic fornece uma API para expandir a instrumentação para uma estrutura web adicional. Para mais informações, veja o aplicativo de exemplo no GitHub.
Clientes de serviço de mensagens não suportados por instrumento
A partir da versão 2.0.0 do agente Node.js, New Relic fornece uma API para expandir a instrumentação para biblioteca adicional de serviços de mensagens. Para mais informações, veja o aplicativo de exemplo no GitHub.
Armazenamentos de dados não suportados por instrumento
A partir da versão 2.0.0 do agente Node.js, New Relic fornece uma API para expandir a instrumentação para armazenamento adicional de dados da biblioteca. Para mais informações, veja o aplicativo de exemplo no GitHub.
Instrumento de transação da web
Para criar uma transação personalizada da web, chame startWebTransaction
para iniciar a transação. Para mais informações, veja o aplicativo de exemplo no GitHub.
O aplicativo de exemplo vinculado fornece apenas dados básicos de tempo para a transação criada. Para criar dados de tempo mais complexos e nomenclatura de transações para uma framework específica, consulte a documentação API do Node.js e o aplicativo de exemplo WebFramework relacionado no GitHub.
Antecedentes do instrumento de transação
Você pode usar transação personalizada para instrumento de transação fora da web (tarefas em segundo plano); por exemplo:
- Trabalhos periódicos dentro do seu aplicativo
- Trabalho que continua após a conclusão de uma solicitação
Para instrumentar tarefas em segundo plano, chame startBackgroundTransaction
no seu manipulador para iniciar uma transação em segundo plano. Para mais informações, veja o aplicativo de exemplo no GitHub.
Expanda a instrumentação dentro da transação
Você pode criar instrumentação usando os métodos de registro de instrumentação na API. Escrever instrumentação usando a API de instrumentação permite que você especifique métrica e nomenclatura com mais detalhes por meio de métodos de "monkey patching" (substituindo funções) em objetos relevantes. Outras opções podem oferecer visibilidade sobre transações da web que já estão instrumentadas, ou obter insights sobre banco de dados e outros trabalhos em transações que não estão instrumentados automaticamente.
Para fazer isso, envolva seu retorno de chamada em um marcador personalizado. O rastreador personalizado cria e coleta métricas específicas para um segmento adicional dentro de uma transação existente, como uma função específica ou uma chamada de banco de dados. Para mais informações, veja o aplicativo de exemplo no GitHub.