When newrelic_rpm is being used, rack-timer only loads the last few middlewares. More confusingly, it looks like its assimilating everything when running rake middleware but not when starting the server.
This is almost definitely the fault of newrelic and not rack-timer, but I wanted to report it because it took a while to figure out what was going on, and someone else might come across it. To get around it, just comment out gem newrelic_rpm while testing. Feel free to close this issue.
$ rake middleware
[rack-timer] assimilating: RackTimer::Middleware
[rack-timer] assimilating: Rack::Cors
[rack-timer] assimilating: ActiveSupport::Cache::Strategy::LocalCache::Middleware
[rack-timer] assimilating: Rack::Timeout
[rack-timer] assimilating: Rack::Runtime
[rack-timer] assimilating: ActionDispatch::RequestId
[rack-timer] assimilating: Rails::Rack::Logger
[rack-timer] assimilating: ActionDispatch::ShowExceptions
[rack-timer] assimilating: WebConsole::Middleware
[rack-timer] assimilating: ActionDispatch::DebugExceptions
[rack-timer] assimilating: Airbrake::Rails::Middleware
[rack-timer] assimilating: ActionDispatch::RemoteIp
[rack-timer] assimilating: ActionDispatch::Reloader
[rack-timer] assimilating: ActionDispatch::Callbacks
[rack-timer] assimilating: ActiveRecord::Migration::CheckPending
[rack-timer] assimilating: ActiveRecord::ConnectionAdapters::ConnectionManagement
[rack-timer] assimilating: ActiveRecord::QueryCache
[rack-timer] assimilating: ActionDispatch::ParamsParser
[rack-timer] assimilating: Rack::Head
[rack-timer] assimilating: Rack::ConditionalGet
[rack-timer] assimilating: Rack::ETag
[rack-timer] assimilating: Warden::Manager
[rack-timer] assimilating: Rack::Deflater
[rack-timer] assimilating: Rack::Session::Cookie
[rack-timer] assimilating: OmniAuth::Builder
[rack-timer] started borg collective: RackTimer::Middleware
use Airbrake::UserInformer
use ActionDispatch::Static
use Rack::Lock
use RackTimer::Middleware
use Rack::Cors
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007fbe091de470>
use Rack::Timeout
use Rack::Runtime
use ActionDispatch::RequestId
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use WebConsole::Middleware
use ActionDispatch::DebugExceptions
use Airbrake::Rails::Middleware
use ActionDispatch::RemoteIp
use ActionDispatch::Reloader
use ActionDispatch::Callbacks
use ActiveRecord::Migration::CheckPending
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::ParamsParser
use Rack::Head
use Rack::ConditionalGet
use Rack::ETag
use Warden::Manager
use Rack::Deflater
use Rack::Session::Cookie
use OmniAuth::Builder
run Eg::Application.routes
$ rails s
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[rack-timer] assimilating: RackTimer::Middleware
[rack-timer] assimilating: NewRelic::Agent::Instrumentation::MiddlewareProxy
[rack-timer] started borg collective: RackTimer::Middleware
[2016-01-28 15:11:47] INFO WEBrick 1.3.1
[2016-01-28 15:11:47] INFO ruby 2.2.2 (2015-04-13) [x86_64-darwin14]
[2016-01-28 15:11:47] INFO WEBrick::HTTPServer#start: pid=71989 port=3000
When newrelic_rpm is being used, rack-timer only loads the last few middlewares. More confusingly, it looks like its assimilating everything when running
rake middleware
but not when starting the server.This is almost definitely the fault of newrelic and not rack-timer, but I wanted to report it because it took a while to figure out what was going on, and someone else might come across it. To get around it, just comment out
gem newrelic_rpm
while testing. Feel free to close this issue.