Distributed tracing permite que você veja toda a jornada de suas solicitações em sistemas distribuídos. Para o agente Node.js, oferecemos dois tipos de distributed tracing (para obter mais detalhes, consulte Como funciona a amostragem de extensão):
Padrão (Amostragem head-based): Antes de qualquer rastreamento chegar, determinamos uma porcentagem definida de rastreamento para aceitar e analisar. Isso fornece um ponto de partida sólido para ver como o rastreamento pode ajudá-lo. Ele está ativado por padrão no agente Node.js 8.3.0 e superior.
Rastreamento Infinito (amostragem tail-based): Nosso serviço baseado em nuvem aceita todos os seus rastreamentos e depois os classifica para encontrar o mais importante. O rastreamento infinito analisa todo o seu rastreamento e oferece opções de configuração para obter amostras do rastreamento mais importante para você.
Se você deseja apenas experimentar distributed tracing padrão (Amostragem head-based) ou também configurar o Rastreamento Infinito (amostragem tail-based), você precisa começar configurando o rastreamento padrão.
Distributed tracing padrão
Esta é a melhor abordagem para configurar distributed tracingpadrão se você ainda não tiver instalado nenhum agente APM para seus serviços.
Dica
Ao instalar o agente New Relic Node.js, distributed tracing padrão é ativado por padrão. Se preferir desligá-lo, consulte nosso guia de configuração.
Identificar serviços
Descubra quais serviços você deseja usar para que cada um envie dados trace para o New Relic.
Instrumentar cada serviço com um agente APM
Para cada serviço envolvido em sua transação, você realizará a instalação separada do agente. Se alguns dos seus serviços usarem outros idiomas, basta repetir as etapas de instalação para esses idiomas.
Para iniciar a rotina de instalação, clique no bloco abaixo. Quando terminar de instalar cada agente, volte aqui para ver dicas para visualizar seu rastreamento.
Ver rastreamento
Depois de instrumentar cada um de seus serviços com o agente APM, gere algum tráfego em sua aplicação para que possamos capturar algum rastro. Aqui estão duas maneiras de visualizar seu rastreamento na interface:
Para obter mais ajuda para encontrar seu rastreamento na interface:
Rastreamento infinito
Distributed tracing padrão para o agente APM captura até 10% do seu rastreamento, mas se você quiser que analisemos todos os seus dados e encontremos o rastreamento mais relevante, você pode configurar o Rastreamento Infinito.
Antes de começar, primeiro certifique-se de atender aos requisitos.
Conclua a configuração do distributed tracingpadrão
A configuração do Infinite Tracing baseia-se no distributed tracing padrão. Portanto, certifique-se de ter concluído as etapas acima e continue com a configuração do observador trace .
Configurar o observador trace
O observador trace é um serviço New Relic baseado em AWS que coleta e analisa todos os seus rastreamentos. Siga as instruções em Configurar o observador de rastreamento. Quando terminar, retorne aqui com as informações do observador trace e continue com a próxima etapa para configurar o agente.
Configurar o agente para rastreamento infinito
As definições de configuração do Infinite Tracing incluem o distributed tracing padrão, além de informações sobre o observador trace . Encontre as configurações do seu agente de idiomas abaixo:
Dica
Se precisar de ajuda com a configuração do proxy, consulte Suporte ao proxy.
(Opcional) Personalizar rastreamento infinito
Depois de adicionar as definições de configuração do agente, você deverá começar a ver os dados na interface do New Relic. Depois de passar algum tempo analisando seus dados, você pode querer ajustar alguns recursos do Infinite Tracing:
Instrumentação manual (se a instrumentação automática não funcionar)
Recomendação: Antes de executar qualquer instrumentação personalizada, leia:
Se um serviço não estiver passando o cabeçalho de trace para outros serviços, você poderá usar a de distributed tracing carga útil API para instrumentar o serviço de chamada e o serviço chamado. O serviço de chamada usa uma chamada de API para gerar uma carga útil, que é aceita pelo serviço chamado.