Integrates ruby-prof with RSpec, allowing you to easily profile your RSpec examples.
If you need to use rspec-prof in Rails 2.x or RSpec 1.x, use version `0.0.3`.
group :test do gem 'rspec-prof' end
The easiest way to use rspec-prof is to export the `RSPEC_PROFILE` environment variable:
$ rake spec RSPEC_PROFILE=each
This will cause every spec to be profiled individually. The output will be placed in `./profiles` by default.
To execute all specs as parts of a single profile, export `RSPEC_PROFILE=all` instead.
You can set some configuration options for `rspec-prof`, as long as you do so before `RSpec` begins running specs. Thus, the best place for this configuration is in `spec/support/rspec-prof.rb`.
Valid configuration options and their default values are:
RSpecProf.printer_class = RubyProf::GraphHtmlPrinter # The printer to be used when writing profiles RSpecProf::FilenameHelpers.file_extension = "html" # The file extension for profiles written to disk RSpecProf::FilenameHelpers.output_dir = "profiles" # The destination directory into which profiles are written
Pausing and Resuming
It is perfectly OK to do this:
require 'spec_helper' describe "smth" do before do # let's not profile the test set-up RubyProf.pause if RubyProf.running? sleep 30 # doing something expensive... # don't forget to resume so specs can be measured! RubyProf.resume if RubyProf.running? end end
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so I don't break it in a future version unintentionally.
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Colin MacKenzie IV. See LICENSE for details.