ActionCost¶ ↑
ActionCost is a Rails 3 engine implemented as a gem. It hooks into ActiveRecord (and RecordCache if used) and counts the number of SQL queries per controller action and per table.
Setup¶ ↑
Simply include action_cost into your Rails 3 application Gemfile.
gem 'action_cost', '0.0.1'
In some applications it’s also necessary to add routes in #{Rails.root}/config/routes.rb for the ActionCost dashboard pages:
namespace :action_cost do get '/' => 'dashboards#index' match '/ca/:ca' => 'dashboards#ca', :as => 'ca', :constraints => { :ca => /.*/ } end
Where is the data stored?¶ ↑
In the Rails process memory. The data goes away when the process dies.
Where is the data visible?¶ ↑
-
Go to yourapp/action_cost, it will display a page with a list of controller action and the average number of queries made in each one of them. Click on a controller action to find which tables were queried.
-
After each controller action completes, an action_cost summary is #{Rails.root}/log/action_cost.log