• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページ を参照してください。

問題を作成する

「Middleware/Rack/ActionDispatch::Routing::RouteSet#call」というラベルの付いたトランザクション

問題

APM UI にMiddleware/Rack/ActionDispatch::Routing::RouteSet#callという名前のトランザクションが表示されますが、それが何であるかわかりません。

原因

Middleware/Rack/ActionDispatch::Routing::RouteSet#callという名前のトランザクションは、インストルメント化されていない Rails アプリ内のルートを表します。Rails ミドルウェアがインストルメント化されているため、New Relic はトランザクションに費やされた時間をキャプチャできますが、それ以上の詳細は提供できません。

Middleware/Rack/ActionDispatch::Routing::RouteSet#callという名前のトランザクションが発生する可能性のある状況はさまざまです。このトランザクション タイプの最も一般的な原因に対して 2 つの解決策を提供しました。

解決

アプリ内のルートがインストルメント化されたミドルウェアを経由してインスツルメント化されていない gem に到達する場合、トランザクションに関するより具体的なデータを確認するには、その gem にカスタム インストルメンテーションを追加する必要があります。カスタム インストルメンテーションを追加するには、 Ruby カスタム インストルメンテーションのドキュメントを読むことをお勧めします。

これらのトランザクションの詳細を取得するには、アプリケーションにカスタム インストルメンテーションを追加するのが最善の方法です。

Ruby エージェントは、インストルメンテーションをActionController::Baseに挿入することでコントローラーをインストルメントします。ただし、ルートがActionController::Baseを継承しないコントローラーを通過する場合、そのコントローラーにはインストルメンテーションが必要です。これをコントローラー クラスに追加して、コントローラーを直接計測します。

include NewRelic::Agent::Instrumentation::ControllerInstrumentation
Copyright © 2024 New Relic株式会社。

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