• /
  • EnglishEspañol日本語한국어Português
  • Log inStart now

Transaction labelled `Middleware/Rack/ActionDispatch::Routing::RouteSet#call`

Problem

You see transactions in the APM UI named Middleware/Rack/ActionDispatch::Routing::RouteSet#call, but you're unsure what they are.

Cause

Transactions with the name Middleware/Rack/ActionDispatch::Routing::RouteSet#call represent a route in your rails app that hasn't been instrumented. Since the rails middleware is instrumented, New Relic can capture the time spent on the transaction, but cannot provide any details beyond that.

There are a variety of situations that can lead to transactions named Middleware/Rack/ActionDispatch::Routing::RouteSet#call. We've provided two solutions for the most common causes to this transaction type.

Solution

If a route in your app passes through instrumented middleware to an uninstrumented gem, then you need to add custom instrumentation to that gem to see more specific data about the transaction. To add custom instrumentation, we recommend reading our Ruby custom instrumentation doc.

Adding custom instrumentation to your application is the best way to get more details about these transactions.

The Ruby agent instruments controllers by inserting instrumentation into ActionController::Base. If a route passes through a controller that does not inherit ActionController::Base, however, then that controller needs instrumentation. Instrument your controller directly by adding this to your controller class:

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.