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 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 .NET 9.0.0.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 .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
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 . 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.