Module: TestProf::EventProf
- Defined in:
- lib/test_prof/event_prof.rb,
lib/test_prof/event_prof/rspec.rb,
lib/test_prof/event_prof/profiler.rb,
lib/test_prof/event_prof/custom_events.rb,
lib/test_prof/event_prof/instrumentations/active_support.rb
Overview
EventProf profiles your tests and suites against custom events, such as ActiveSupport::Notifacations.
It works very similar to ‘rspec –profile` but can track arbitrary events.
Example:
# Collect SQL queries stats for every suite and example
EVENT_PROF='sql.active_record' rspec ...
By default it collects information only about top-level groups (aka suites), but you can also profile individual examples. Just set the configuration option:
TestProf::EventProf.configure do |config|
config.per_example = true
end
Or provide the EVENT_PROF_EXAMPLES=1 env variable.
Defined Under Namespace
Modules: CustomEvents, Instrumentations Classes: Configuration, Profiler, ProfilersGroup, RSpecListener
Class Method Summary collapse
-
.build(event = config.event) ⇒ Object
Returns new configured instance of profilers group.
- .config ⇒ Object
- .configure {|config| ... } ⇒ Object
Class Method Details
.build(event = config.event) ⇒ Object
Returns new configured instance of profilers group
77 78 79 80 81 82 83 84 85 |
# File 'lib/test_prof/event_prof.rb', line 77 def build(event = config.event) ProfilersGroup.new( event: event, instrumenter: config.resolve_instrumenter, rank_by: config.rank_by, top_count: config.top_count, per_example: config.per_example? ) end |
.config ⇒ Object
68 69 70 |
# File 'lib/test_prof/event_prof.rb', line 68 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ Object
72 73 74 |
# File 'lib/test_prof/event_prof.rb', line 72 def configure yield config end |