• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Transação rotulada `Middleware/Rack/ActionDispatch::Routing::RouteSet#call`

Problema

Você vê transações na interface do APM denominadas Middleware/Rack/ActionDispatch::Routing::RouteSet#call, mas não tem certeza do que são.

Causa

Transação com o nome Middleware/Rack/ActionDispatch::Routing::RouteSet#call representa uma rota em seu aplicativo Rails que não foi instrumentada. Como o middleware Rails é instrumentado, a New Relic pode capturar o tempo gasto na transação, mas não pode fornecer detalhes além disso.

Existem diversas situações que podem levar à transação denominada Middleware/Rack/ActionDispatch::Routing::RouteSet#call. Fornecemos duas soluções para as causas mais comuns desse tipo de transação.

Solução

Se uma rota em seu aplicativo passar por um middleware instrumentado para uma gema não instrumentada, será necessário adicionar instrumentação personalizada a essa gema para ver dados mais específicos sobre a transação. Para adicionar instrumentação personalizada, recomendamos a leitura de nosso documento de instrumentação personalizada Ruby.

Adicionar instrumentação customizada ao seu aplicativo é a melhor maneira de obter mais detalhes sobre essas transações.

O agente Ruby instrumento controladores inserindo instrumentação em ActionController::Base. Se uma rota passar por um controlador que não herda ActionController::Base, entretanto, esse controlador precisará de instrumentação. Instrumente seu controlador diretamente adicionando isto à sua classe de controlador:

include NewRelic::Agent::Instrumentation::ControllerInstrumentation
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.