Methods
Constants
HEADER | = | 'measurement,created_at,app,rails,ruby,platform' |
Public Instance methods
[ show source ]
# File activesupport/lib/active_support/testing/performance.rb, line 125 125: def environment 126: unless defined? @env 127: app = "#{$1}.#{$2}" if File.directory?('.git') && `git branch -v` =~ /^\* (\S+)\s+(\S+)/ 128: 129: rails = Rails::VERSION::STRING 130: if File.directory?('vendor/rails/.git') 131: Dir.chdir('vendor/rails') do 132: rails += ".#{$1}.#{$2}" if `git branch -v` =~ /^\* (\S+)\s+(\S+)/ 133: end 134: end 135: 136: ruby = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby' 137: ruby += "-#{RUBY_VERSION}.#{RUBY_PATCHLEVEL}" 138: 139: @env = [app, rails, ruby, RUBY_PLATFORM] * ',' 140: end 141: 142: @env 143: end
[ show source ]
# File activesupport/lib/active_support/testing/performance.rb, line 117 117: def record 118: avg = @metric.total / profile_options[:runs].to_i 119: now = Time.now.utc.xmlschema 120: with_output_file do |file| 121: file.puts "#{avg},#{now},#{environment}" 122: end 123: end
[ show source ]
# File activesupport/lib/active_support/testing/performance.rb, line 112 112: def run 113: profile_options[:runs].to_i.times { run_test(@metric, :benchmark) } 114: @total = @metric.total 115: end
Protected Instance methods
[ show source ]
# File activesupport/lib/active_support/testing/performance.rb, line 161 161: def output_filename 162: "#{super}.csv" 163: end
[ show source ]
# File activesupport/lib/active_support/testing/performance.rb, line 148 148: def with_output_file 149: fname = output_filename 150: 151: if new = !File.exist?(fname) 152: FileUtils.mkdir_p(File.dirname(fname)) 153: end 154: 155: File.open(fname, 'ab') do |file| 156: file.puts(HEADER) if new 157: yield file 158: end 159: end