Nossa API do agente Node.js permite estender a funcionalidade padrão do agente. Você pode usar esta API para:
- Criar parâmetro de transação personalizado
- Relatar erros personalizados e métricas
Você também pode usar a API para instrumentação personalizada. Para estrutura suportada, o agente instrumento mais atua automaticamente. A instrumentação personalizada permite estender esse monitoramento à estrutura sem instrumentação padrão.
Outros recursos:
- Documentação da API do agente Node.js no GitHub.
- Exemplo usando aplicativo instrumentação personalizada.
- Você também pode ajustar o comportamento padrão do agente Node.js com definições de configuração.
Requisitos
Para usar a API do agente Node.js, certifique-se de ter a versão mais recente do agente Node.js. Além disso, veja:
Instrumento faltando seções do seu código com transação
Para instrumentar seu aplicativo, o New Relic separa cada caminho do seu código em sua própria transação. A New Relic utiliza (ou "instrumento") o método pai nessas transações para medir o desempenho geral do seu aplicativo e coleta o rastreamento da transação de transações de longa duração para obter detalhes adicionais.
Use estes métodos quando o New Relic não estiver instrumentado em uma parte específica do seu código:
Se você quiser... | Fazem isto... |
---|---|
Comece a cronometrar um método que o New Relic não é instrumentado automaticamente | Crie uma nova transação. Veja |
Pare de cronometrar um método depois que seu trabalho for concluído | Use uma destas opções:
|
Impedir que uma transação seja reportada à New Relic | Ignore a transação usando qualquer uma destas opções:
|
Para obter mais informações sobre como criar uma transação da web personalizada, consulte o exemplo startWebTransaction no GitHub.
Métodos específicos de tempo usando segmentos
Se uma transação já estiver visível no New Relic, mas você não tiver dados suficientes sobre um método específico que foi chamado durante essa transação, você poderá criar segmentos para cronometrar esses métodos individuais com mais detalhes. Por exemplo, você pode querer cronometrar um método particularmente crítico com lógica complexa.
Para cronometrar um método específico, consulte newrelic.startSegment.
Para obter mais informações sobre tempo, consulte o exemplo de instrumentação personalizada no GitHub.
Aprimore os metadados de uma transação
Às vezes, o código que você está direcionando fica visível no New Relic, mas alguns detalhes do método não são úteis. Por exemplo:
- O nome padrão pode não ser útil. (Talvez esteja causando um problema de agrupamento métrico.)
- Você deseja adicionar um atributo personalizado à sua transação para poder filtrá-la.
Use estes métodos quando quiser alterar a forma como o New Relic utiliza uma transação que já está visível no New Relic:
Se você quiser... | Fazem isto... |
---|---|
Alterar o nome de uma transação | |
Adicione metadados (como o nome da conta do seu cliente ou nível de assinatura) à sua transação | Use atributo personalizado. A coleção de atributos personalizados é habilitada por padrão no agente Node.js.) Veja |
Crie uma nova transação para trabalho em segundo plano | Veja |
Crie uma nova transação da web | |
Evite que uma transação afete sua pontuação Apdex | Consulte Regras para nomear e ignorar solicitações, incluindo o exemplo de regras para ignorar. |
Registre outros dados de desempenho, como tempo ou dados de recursos do computador | Use |
Veja o registro relacionado
Por padrão, o agente envia log diretamente no contexto dos erros e rastreamento do seu aplicativo. Para obter mais informações sobre como correlacionar dados log com outros dados de telemetria e estrutura compatível, consulte nossos logs contextualizados em documentos .
Se estiver usando um mecanismo de registro que não é instrumentado pela New Relic, você poderá usar diretamente esta chamada de API para registrar e encaminhar seu logs contextualizados:
Um método alternativo mais antigo é usar seu próprio direcionador de logs em vez de deixar o agente encaminhar para você. Nesse caso, você precisará anotar seu log com o contexto adequado antes de encaminhá-los. Use estas chamadas de API:
Trabalho assíncrono de instrumento
Para estruturas suportadas e versões Node.js suportadas, o agente Node.js da New Relic geralmente funciona corretamente como instrumento assíncrono. No entanto, se seu aplicativo usar outra framework ou se a instrumentação assíncrona padrão for imprecisa, você poderá rastrear explicitamente o trabalho assíncrono.
Se você quiser... | Fazem isto... |
---|---|
Trace um método assíncrono que o New Relic já está instrumentado | Veja |
Trace um método assíncrono que New Relic não é instrumentado | Veja |
Trace uma transação que foi perdida | Veja |
Instrumentar chamadas para serviços externos
Depois que a API de nomenclatura de solicitação for carregada, o agente Node.js da New Relic poderá identificar automaticamente chamadas de serviço externas. Você também pode usar estes métodos para coletar dados sobre as conexões do seu aplicativo com outros aplicativos ou banco de dados:
Se você quiser... | Fazem isto... |
---|---|
Cronometrar uma chamada para um recurso externo (como um serviço externo, servidor de banco de dados ou fila de mensagens) | Use qualquer um destes conforme apropriado:
|
Conectar atividade a outro aplicativo instrumentado por um agente da New Relic | Use distributed tracing. Para obter mais informações sobre como inserir e aceitar manualmente cabeçalhos distributed tracing , consulte o aplicativo de exemplo no GitHub. |
Veja o caminho que uma solicitação percorre ao percorrer um sistema distribuído. |
Colete ou erro ignorado
Normalmente o agente detecta erros automaticamente. No entanto, você pode marcar manualmente um erro com o agente. Você também pode marcar erros como ignorados. Para obter mais informações sobre como usar os métodos API para log, agrupar e associar erros, use o aplicativo de exemplo no GitHub.
Se você quiser... | Fazem isto... |
---|---|
Relatar um erro que o agente não reporta automaticamente | Veja |
Agrupe erros por nome, usando uma função de filtro personalizada que você define | |
Associar erros ao usuário | Veja |
Envie dados de eventos personalizados e métricos do seu aplicativo
O New Relic inclui diversas maneiras de registrar dados personalizados arbitrários. Para obter uma explicação dos tipos de dados do New Relic, consulte Coleta de dados. Para obter mais informações sobre como usar os métodos de API abaixo, use o aplicativo de exemplo no GitHub.
Se você quiser... | Fazem isto... |
---|---|
Envie dados sobre um evento para que você possa analisá-lo no New Relic | Crie um evento personalizado. Veja |
Tag seu evento com metadados para filtrá-los e facetá-los | Adicione um atributo personalizado, se necessário. A coleção de atributos personalizados é habilitada por padrão no agente Node.js.) Veja |
Relatar dados de desempenho personalizados | Crie uma métrica personalizada. Veja |
Controlar o agente browser
Normalmente o agente é adicionado automaticamente às suas páginas ou implantado copiando/colando o trecho JavaScript. Para obter mais informações sobre esses métodos recomendados, consulte Adicionar aplicativos de browser ao New Relic.
Você também pode controlar o agente browser por meio da chamada de API do agente APM. Para mais informações, consulte monitoramento de Browser e agente Node.js.
Estenda a instrumentação personalizada
Para obter mais informações sobre como usar a API de instrumentação personalizada, consulte Instrumentação personalizada Node.js.
Para adicionar instrumentação personalizada no aplicativo do módulo ES, consulte a documentação do módulo ES ou aplicativo de exemplo no GitHub.