Rails SQL Query Tracker

Code Climate Build Status

sql_tracker tracks SQL queries by subscribing to Rails' sql.active_record event notifications.

It then aggregates and generates report to give you insights about all the sql queries happened in your Rails application.

Installation

Add this line to your application's Gemfile:

group :development, :test do
  ... ...
  gem 'sql_tracker'
end

And then execute:

$ bundle

Tracking

To start tracking, simply start your rails application server. When your server is shutting down, sql_tracker will dump all the tracking data into one or more json file(s) under the tmp folder of your application.

sql_tracker can also track sql queries when running rails tests (e.g. your controller or integration tests), it will dump the data after all the tests are finished.

Reporting

To generate report, run

sql_tracker tmp/sql_tracker-*.json

Configurations

All the configurable variables and their defaults are list below:

SqlTracker::Config.enabled = true
SqlTracker::Config.tracked_paths = %w(app lib)
SqlTracker::Config.tracked_sql_command = %w(SELECT INSERT UPDATE DELETE)
SqlTracker::Config.output_path = File.join(Rails.root.to_s, 'tmp')

License

The gem is available as open source under the terms of the MIT License.