zombocom / derailed_benchmarks

Go faster, off the Rails - Benchmarks for your whole Rails app
2.95k stars 142 forks source link

derailed bundle:mem can't load warden on MRI2.3.3? #91

Closed hakusaro closed 7 years ago

hakusaro commented 7 years ago

Hiya. I'm really stumbling through this trying to get anything derailed does to work. I'm trying to debug a Sinatra application, and aside from not getting DERAILED_APP to work at all, I can't even get bundle exec derailed bundle:mem to work to benchmark gems. I have derailed in my Gemfile, and I've run bundle install but it dies immediately trying to load warden.

bundle exec derailed bundle:mem

bundler: failed to load command: derailed (/Users/shank/.rbenv/versions/2.3.3/bin/derailed)
LoadError: cannot load such file -- warden
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block (2 levels) in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in `measure_memory_impact'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/sinatra_more-0.3.43/lib/sinatra_more/warden_plugin.rb:2:in `<top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block (2 levels) in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in `measure_memory_impact'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/sinatra_more-0.3.43/lib/sinatra_more.rb:5:in `<top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block (2 levels) in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in `measure_memory_impact'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in `block in <top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:86:in `each'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:86:in `block in require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:75:in `each'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:75:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler.rb:106:in `require'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/bin/derailed:67:in `block in <class:DerailedBenchmarkCLI>'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
  /Users/shank/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/derailed_benchmarks-1.3.1/bin/derailed:92:in `<top (required)>'
  /Users/shank/.rbenv/versions/2.3.3/bin/derailed:22:in `load'
  /Users/shank/.rbenv/versions/2.3.3/bin/derailed:22:in `<top (required)>'

What am I doing wrong?

schneems commented 7 years ago

Do you see warden if you run:

$ bundle exec gem list
hakusaro commented 7 years ago

Ugh, nope. It's not on the list.

Reading the trace more, I commented out sinatra_more in the Gemfile on a whim and sure enough, it works fine now. I guess maybe it's a gem conflict? Oh well. Seems to be at least more helpful if I can get something to work by commenting out a gem.

hakusaro commented 7 years ago

@schneems should I go ahead and make an issue for figuring out how to load a modular Sinatra app, or is there an alternative place to ask questions? I'm really not sure at all how to go about this.

Sorry for burning your time :c

schneems commented 7 years ago

I honestly don't know. I've really only ever used this with Rails apps. I added the arbitrary rack extension to allow for custom use cases. If you get something working feel free to write up some docs.