Distributed tracing permite que você veja toda a jornada de suas solicitações em sistemas distribuídos. Para o agente Ruby, oferecemos dois tipos de distributed tracing (para obter mais detalhes, consulte Como funciona a amostragem de span):
Padrão (amostragem baseada no início): Antes de qualquer trace chegar, determinamos uma porcentagem definida de traces para aceitar e analisar. Isso oferece um ponto de partida sólido para ver como o rastreamento pode ajudar você. Está ativado por padrão nos agentes Ruby 8.0.0 e superiores. Por padrão, o agente Ruby amostra 10 traces por minuto, com um limite máximo de 1000 spans por minuto.
Infinite Tracing (amostragem baseada em cauda): Nosso serviço baseado em nuvem aceita todos os seus traces e, em seguida, os examina para encontrar os mais importantes. O Infinite Tracing analisa todos os seus traces e oferece opções de configuração para amostrar os traces que mais importam 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 Ruby , 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 (opcional)
Com o Infinite Tracing (amostragem baseada em cauda), podemos analisar todos os seus dados e determinar quais traces são os mais relevantes.
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 . Observe que a configuração no lado do servidor não está disponível para Infinite Tracing.
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.
