lib/pf2.rb in pf2-0.4.0 vs lib/pf2.rb in pf2-0.5.0

- old
+ new

@@ -1,31 +1,24 @@ require_relative 'pf2/pf2' +require_relative 'pf2/session' require_relative 'pf2/version' module Pf2 class Error < StandardError; end - def self.default_scheduler_class - # SignalScheduler is Linux-only. Use TimerThreadScheduler on other platforms. - if defined?(SignalScheduler) - SignalScheduler - else - TimerThreadScheduler - end - end - def self.start(...) - @@default_scheduler = default_scheduler_class.new(...) - @@default_scheduler.start + @@session = Pf2::Session.new(...) + @@session.start end - def self.stop(...) - @@default_scheduler.stop(...) + def self.stop + @@session.stop end def self.profile(&block) raise ArgumentError, "block required" unless block_given? - start([Thread.current], true) + start(threads: Thread.list) yield stop + @@session = nil # let GC clean up the session end end