Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Bumbler

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, add 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, for example foo requires rails which leads to foo being marked as slow.

For rails projects it loads config/environment.rb, for all others it runs Bundler.require *Bundler.groups.

gem install bumbler
cd project && bumbler

Custom entrypoints

Add bumbler to your Gemfile

gem 'bumbler'
RUBYOPT=-rbumbler/go bundle exec ruby -r./lib/foo.rb -e Bumbler::Stats.print_slow_items

Custom threshold

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.

bumbler --initializers

Show all loaded gems

Rails:

bumbler --all

Ruby:

-e Bumbler::Stats.print_tracked_items

Development

Rails

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

License

Bumbler is MIT licensed. See the accompanying file for the full text.

About

Track the load progress of your Bundler-based projects

Resources

License

Packages

No packages published
You can’t perform that action at this time.