Distributed tracing permite que você veja toda a jornada de suas solicitações em sistemas distribuídos. Para o agente .NET, oferecemos dois tipos de distributed tracing (para obter mais detalhes, consulte Como funciona a amostragem de extensão):
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 .NET 9.0.0.0 e superiores. Por padrão, o agente .NET amostra 10 traces por minuto, com um limite máximo de 2000 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 .NET New Relic , 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 atendem à sua solicitação para que você possa instrumentar cada um deles para enviar 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 algumas 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:
O agente .NET envia automaticamente dados de rastreamento através de canais IPC (fila de mensagens, por exemplo) quando ele autoinstrumenta um cliente para aquele canal (RabbitMQ.Client, por exemplo). Se seus serviços se comunicarem usando um mecanismo IPC que o agente não instrumenta automaticamente, você precisará usar a do agente distributed tracing API para propagar os dados de rastreamento entre os serviços.
Importante
Para que a API de rastreamento manual funcione, o canal de comunicação que você está usando deve suportar algum tipo de armazenamento de par principal de valor (uma "portadora") associado às mensagens transmitidas. Isso às vezes é chamado de "cabeçalhos" ou "bolsa de propriedades", mas vai depender da biblioteca de mensagens com a qual você está trabalhando.
Aqui está um exemplo que você pode criar e executar para mostrar como isso funciona.
