Importante
A partir da versão 8.0.0 do agente Ruby, distributed tracing está ativado por padrão. distributed tracing melhora o rastreamento multiaplicativo e é recomendado para sistemas distribuídos grandes.
O rastreamento multiaplicativo foi descontinuado em favor do distributed tracing e será removido em uma versão futura do agente. Se precisar continuar usando o rastreio multiaplicativo, como para uma framework de middleware não padrão, consulte as informações de configuração neste documento.
Requisitos
Siga estes requisitos para usar o rastreamento multiaplicativo com o agente Ruby:
- Certifique-se de que as solicitações que estão sendo instrumentadas usem uma biblioteca cliente HTTP suportada.
- Instale ou atualize para o agente Ruby mais recente (versão 3.5.5.38 ou superior).
- Siga os requisitos para instalação de middleware.
Instalação de middleware
O rastreamento multiaplicativo funciona com Rack, e portanto requer Rails 2.3 ou superior, ou outro framework compatível.
- Se você usa Rails, o agente Ruby instalará o middleware automaticamente.
- Se você usar uma framework baseada em Rack diferente, adicione manualmente o middleware
NewRelic::Rack::AgentHooks
à sua stack.
Configuração
O rastreamento multiaplicativo pode ser controlado por um sinalizador de configuração. A partir da versão 8.0.0 do agente Ruby, o padrão para cross_application_tracer.enabled
é false
, mesmo quando não especificado. Para ativar o rastreamento multiaplicativo, você deve definir esse sinalizador como true
e definir distributed_tracing.enabled
como false
.
cross_application_tracer: enabled: truedistributed_tracing: enabled: false
Para versões inferiores a 8.0.0, o multiaplicativo pode ser configurado utilizando a seguinte configuração.
cross_application_tracer: enabled: true
Medições trace multiaplicativo
A medida external (do aplicativo chamador) sempre será maior que a medida internal (do aplicativo chamado). A medição externa é coletada pela instrumentação da biblioteca cliente HTTP da New Relic (como Net::HTTP). A medição interna é feita pela instrumentação do framework web da New Relic (como Rails) no aplicativo chamado.
Aqui estão alguns dos principais componentes incluídos na medição externa que não estão incluídos na medição interna:
Alguns desses componentes são mais fáceis de controlar do que outros. Por exemplo, para capturar os tempos dos Receiving host itens acima, certifique-se de ter o monitoramento da fila de solicitações configurado no aplicativo receptor.
Obtenha distributed tracing
A partir da versão 8.0.0 do agente Ruby, distributed tracing está ativado por padrão. distributed tracing é uma melhoria no rastreamento multiaplicativo e é recomendado para sistemas distribuídos grandes.