Parent

Class/Module Index [+]

Quicksearch

ActiveSupport::Testing::Performance::Profiler

overridden by each implementation

Public Class Methods

new(*args) click to toggle source
# File lib/active_support/testing/performance/jruby.rb, line 22
def initialize(*args)
  super
  @supported = @metric.is_a?(Metrics::WallTime)
end

Public Instance Methods

record() click to toggle source
# File lib/active_support/testing/performance/jruby.rb, line 37
def record
  return unless @supported

  klasses = full_profile_options[:formats].map { |f| JRuby::Profiler.const_get("#{f.to_s.camelize}ProfilePrinter") }.compact

  klasses.each do |klass|
    fname = output_filename(klass)
    FileUtils.mkdir_p(File.dirname(fname))
    file = File.open(fname, 'wb') do |file|
      klass.new(@data).printProfile(file)
    end
  end
end
run() click to toggle source
# File lib/active_support/testing/performance/jruby.rb, line 27
def run
  return unless @supported

  @total = time_with_block do
    @data = JRuby::Profiler.profile do
      full_profile_options[:runs].to_i.times { run_test(@metric, :profile) }
    end
  end
end
time_with_block() click to toggle source
# File lib/active_support/testing/performance.rb, line 169
def time_with_block
  before = Time.now
  yield
  Time.now - before
end

Protected Instance Methods

create_path_and_open_file(printer_name) click to toggle source
# File lib/active_support/testing/performance/rubinius.rb, line 56
def create_path_and_open_file(printer_name)
  fname = "#{output_filename}_#{printer_name}.txt"
  FileUtils.mkdir_p(File.dirname(fname))
  File.open(fname, 'wb') do |file|
    yield(file)
  end
end
output_filename(printer_class) click to toggle source
# File lib/active_support/testing/performance/jruby.rb, line 52
def output_filename(printer_class)
  suffix =
    case printer_class.name.demodulize
      when 'FlatProfilePrinter';  'flat.txt'
      when 'GraphProfilePrinter'; 'graph.txt'
      else printer_class.name.sub(/ProfilePrinter$/, '').underscore
    end

  "#{super()}_#{suffix}"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.