All Projects → basecamp → Action_profiler

basecamp / Action_profiler

Licence: mit
Profile Rails requests on a live app

Programming Languages

ruby
36898 projects - #4 most used programming language

= Action Profiler

gem install ruby-prof then add ?profile=process_time to any URL to profile the page load and download a calltree file. Open it with kcachegrind.

Add an around_filter :action_profiler to ApplicationController:

around_filter :action_profiler unless Rails.env.production?

Enable live profiling in production accessible to specific IP addresses:

ALLOWED_IPS = ['127.0.0.1', '1.2.3.4'] around_filter :action_profiler, :if => lambda { |c| ALLOWED_IPS.include?(c.request.remote_ip) }

If you're using Ruby Enterprise Edition or a patched Ruby 1.8, you can profile memory and object allocation also: ?profile=memory or allocations.

This plugin uses an around_filter to profile the controller action only. Rack::Profiler, part of rack-contrib, can profile the entire Rails request.

== License

Released under the MIT license, copyright (c) 2007-2009 37signals, LLC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].