ActiveRecordRecord
ActiveRecord Record is a Railtie that instruments ActiveRecord and records SQL queries, model instantiations, and view renders. Every request cycle will open a next TextEdit window with a summary of the request.
Note: at the moment this development tool is Mac only.
Installation
Add this line to your application's Gemfile:
gem 'active_record_record', git: 'https://github.com/cantino/active_record_record'
And then execute:
$ bundle
Usage
Because the instrumentation added by this gem is slow, it remains off by default. To enable, you must be in the Rails development
environment and provide COUNT_OBJECTS=true
in the ENV
. For example by running:
$ COUNT_OBJECTS=true rails s
You will often want to reload twice to see an accurate accounting of SQL queries.
You can also wrap a section of code with track_time_as
to get a breakdown for that section.
track_time_as("this block seems slow") do
10_000.times do
# SLOW SQL!
# LOAD ALL THE OBJECTS!
# RENDER ONE MILLIONS PARTIALS!
end
end
Development
To release a new version, update the version number in version.rb
, and then run bundle exec rake release
to create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
- Fork it ( https://github.com/cantino/active_record_record/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request