Aqui estão algumas dicas de resolução de problemas ao usar o trace multiaplicativo. Observe que esse recurso não é o mesmo que distributed tracing, que é preferível ao rastreamento multiaplicativo.
Versões e protocolos do agente
Certifique-se de atender a esses requisitos para a versão, protocolos, interfaces ou biblioteca de fila de mensagens do seu agente. Se você estiver usando um protocolo que não esteja listado aqui, você não verá uma conexão entre o seu aplicativo.
Agent version | Notes |
---|---|
HTTP, HTTPS | |
HTTP, HTTPs, JMS 1.1, RabbitMQ O agente Java também suporta diversas filas de mensagens da biblioteca, inclusive aquelas que utilizam a interface JMS 1.1. | |
HTTP, HTTPS, RabbitMQ | |
Sistemas de enfileiramento de mensagens HTTP, HTTPS e PHP suportados | |
HTTP, HTTPS e sistemas de enfileiramento de mensagens Python suportados | |
Requisitos do arquivo de configuração
Em geral, o recurso de rastreamento multiaplicativo do New Relic está habilitado por padrão. Os requisitos para alterar seu arquivo de configuração variam dependendo do seu agente New Relic:
- Go (não suportado)
- Java
- .NET
- Node.js (nenhuma configuração específica de arquivo de configuração necessária para Node.js)
- PHP
- Python
- Ruby
Altas taxas de transferência de aplicativos
O rastreamento multiaplicativo depende do evento de transação para associar transações relacionadas. Se você tiver uma aplicação de altas taxas de transferência, seu agente poderá atingir o número máximo de eventos que pode registrar em um minuto e voltará ao evento de amostragem. Se os eventos de uma transação forem amostrados, você poderá ver um trace multiaplicativo incompleto, incluindo às vezes apenas as transações nas quais você está focado.
Se o seu aplicativo tiver altas taxas de transferência, algum rastreamento multiaplicativo aparecerá incompleto, às vezes sem links. Tente visualizar um rastreamento de transação diferente. Para reduzir ou eliminar a amostragem, você também pode ajustar o número de eventos de transação armazenados na configuração do seu agente.
High throughput apps | Troubleshooting tips |
---|---|
Java | Na seção transaction_events , ajuste a configuração de |
Ruby | Ajuste a configuração para |
Proxies
Se você espera ver um link trace multiaplicativo mas ele não aparece consistentemente, pode haver um proxy ou broker entre a comunicação da sua aplicação. o rastreamento multiaplicativo depende de cabeçalhos HTTP e propriedades JMS sendo passadas de um aplicativo para outro. Os proxies HTTP e os corretores de mensagens às vezes removem esses cabeçalhos.
Processamento multithread (Java)
Se um ou mais aplicativos Java usarem um modelo de programação assíncrono ou "reativo", a atividade de uma transação poderá abranger vários threads. New Relic oferece suporte à framework Play e Servlet Async, mas não a toda estrutura assíncrona. Para estruturas não suportadas, a atividade em outros threads não é relatada como parte da transação. As chamadas para outro aplicativo não serão rastreadas.
Várias contas
Atualmente o rastreamento multiaplicativo não cruza contas New Relic. Se você tiver várias contas New Relic (incluindo contas infantis), verá apenas o rastreamento do aplicativo em uma conta.
Nosso recurso distributed tracing ultrapassa os limites da conta.