Module: Pf2

Defined in:
lib/pf2.rb,
lib/pf2/cli.rb,
lib/pf2/serve.rb,
lib/pf2/session.rb,
lib/pf2/version.rb,
lib/pf2/reporter/annotate.rb,
lib/pf2/reporter/stack_weaver.rb,
lib/pf2/reporter/firefox_profiler.rb,
lib/pf2/reporter/firefox_profiler_ser2.rb

Defined Under Namespace

Modules: Reporter Classes: CLI, Error, Serve, Session

Constant Summary collapse

VERSION =
'0.9.0'

Class Method Summary collapse

Class Method Details

.profile(&block) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
# File 'lib/pf2.rb', line 19

def self.profile(&block)
  raise ArgumentError, "block required" unless block_given?
  start(threads: Thread.list)
  yield
  result = stop
  @@session = nil # let GC clean up the session
  result
end

.startObject



10
11
12
13
# File 'lib/pf2.rb', line 10

def self.start(...)
  @@session = Pf2::Session.new(...)
  @@session.start
end

.stopObject



15
16
17
# File 'lib/pf2.rb', line 15

def self.stop
  @@session.stop
end