Find slow loading gems in your Bundler-based projects!
Bumbler tracks how long the main require of each gem takes,
for example with
gem 'bar' it tracks
require 'bar'. If the gem name and the require name are different,
require: manually for correct time tracking, for example
gem 'bar-foo', require: 'bar_foo'.
This require tracking can sometimes lead to false positives, because of dependencies,
rails which leads to
foo being marked as slow.
For rails projects it loads
config/environment.rb, for all others it runs
gem install bumbler cd project && bumbler
Add bumbler to your Gemfile
RUBYOPT=-rbumbler/go bundle exec ruby -r./lib/foo.rb -e Bumbler::Stats.print_slow_items
Set the minimum number of milliseconds before something slow is listed. For example, to show anything >= 10ms:
bumbler -t 10
Rails: Track load-time of initializers
See how slow your app's initializers are (
./config/initializers/*), as well as
the initializers for any engines you rely on.
Show all loaded gems
We don't have any integration tests with rails, so when touching rails code make sure to test it in a real app.
cd my-rails-app && ~/Code/tools/bumbler/bin/bumbler
Release new version
rake bump:[major|minor|patch] && rake release
Bumbler is MIT licensed. See the accompanying file for the full text.