O agente Python oferece suporte a diagnósticos de loop de eventos assíncronos . Quando há transações bloqueando ou atrasando um loop de eventos, o agente é capaz de gerar diagnósticos para ajudar a localizá-los e resolvê-los.
Requisitos
Requer agente Python versão 5.0.0.124 ou superior.
Ver na interface do New Relic
No APM, os dados da transação do loop de eventos estarão na tabela detalhada da transação e na página de detalhes trace .
Evento loop métrica aparecerá na transação Breakdown table:
one.newrelic.com > APM & services > (select an app) > Transactions, clique em See transaction table e selecione uma transação: o Breakdown table da transação sinaliza um loop de eventos com asyncio.
O tempo gasto aguardando outras transações será mostrado na página transação Trace details :
one.newrelic.com APM & services > (select an app) > Transactions > (select a transaction trace) > Trace details: A página Trace details contém uma tabela com detalhamentos para cada segmento (chamada de método ou função) em um trace da transação.
Evento Loop NRQL consulta
eventLoopTime
e eventLoopWait
atributo estarão disponíveis via consulta NRQL. Um exemplo de consulta pode ser:
SELECT count(*) AS 'count', average(eventLoopTime) AS 'loopTime', average(eventLoopWait) AS 'loopWait' FROM Transaction FACET name
Onde diagnosticar loops de eventos
O diagnóstico de loop de eventos estará disponível por padrão por meio de nossa estrutura de instrumentação existente aiohttp, sanic e Tornado. Corrotinas que usam a API do agente Python background_task e do decorador web_transaction API também suportam loops de eventos do asyncio.