• Stars
    star
    619
  • Rank 72,496 (Top 2 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 13 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Track the load progress of your Bundler-based projects

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.

More Repositories

1

groc

Documentation generation, in the spirit of literate programming.
CoffeeScript
579
star
2

readable-licenses

Make your open source license text more pleasant to read.
98
star
3

html-exports

JavaScript
43
star
4

SMJobKit

Objective-C
28
star
5

polymer-rails

Support for Polymer-enabled web components in Rails
Ruby
20
star
6

node-autorequire

Automatically requires source for a module/project, provided you follow a convention.
CoffeeScript
17
star
7

xcode-templates

(hopefully) Best practice Xcode templates that suck less.
Ruby
14
star
8

ruby-gumbo

A ruby binding for the gumbo html5 parser
C
12
star
9

ios-crash-course

Objective-C
9
star
10

paper-theme-experiment

An experiment making a core-style theme as an element
JavaScript
5
star
11

sprintly-rb

"A Ruby client to sprint.ly's API"
Ruby
4
star
12

tracks

Rails project templates, the way I like them.
Ruby
3
star
13

hackish-sprockets-htmlimports

Sprockets support for HTML imports
Ruby
3
star
14

rb-placemat

Ruby
2
star
15

dotum

Dotum manages your dotfiles and allows for piecemeal sharing.
Ruby
2
star
16

old-home

Shell
1
star
17

active-admin-leaks-sample

Test case showing reference leaks in ActiveAdmin
Ruby
1
star
18

yourewrong-imright

You're wrong. I'm right.
JavaScript
1
star
19

fireballed

A color theme inspired by Daring Fireball
Ruby
1
star
20

cli-forge

Beat your CLI tool suites into submission!
Ruby
1
star
21

atom-nevish-ui

CSS
1
star
22

spate

Utility methods to reduce the weight of JavaScript control flow logic.
CoffeeScript
1
star
23

oni-darkness-not-excluded

Illuminate the depths of your asteroid and conquer it with the power of light!
C#
1
star
24

groc-theme

JavaScript
1
star
25

parcel-plugin-service-worker-manifest

TypeScript
1
star