Class: ActiveSupport::Testing::Performance::Benchmarker
- Defined in:
- lib/active_support/testing/performance.rb
Instance Method Summary collapse
- #environment ⇒ Object
-
#initialize(*args) ⇒ Benchmarker
constructor
A new instance of Benchmarker.
- #record ⇒ Object
- #run ⇒ Object
Methods inherited from Performer
Constructor Details
#initialize(*args) ⇒ Benchmarker
Returns a new instance of Benchmarker.
180 181 182 183 |
# File 'lib/active_support/testing/performance.rb', line 180 def initialize(*args) super @supported = @metric.respond_to?('measure') end |
Instance Method Details
#environment ⇒ Object
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/active_support/testing/performance.rb', line 200 def environment unless defined? @env app = "#{$1}.#{$2}" if File.directory?('.git') && `git branch -v` =~ /^\* (\S+)\s+(\S+)/ rails = Rails::VERSION::STRING if File.directory?('vendor/rails/.git') Dir.chdir('vendor/rails') do rails += ".#{$1}.#{$2}" if `git branch -v` =~ /^\* (\S+)\s+(\S+)/ end end ruby = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby' ruby += "-#{RUBY_VERSION}.#{RUBY_PATCHLEVEL}" @env = [app, rails, ruby, RUBY_PLATFORM] * ',' end @env end |
#record ⇒ Object
192 193 194 195 196 197 198 |
# File 'lib/active_support/testing/performance.rb', line 192 def record avg = @metric.total / [:runs].to_i now = Time.now.utc.xmlschema with_output_file do |file| file.puts "#{avg},#{now},#{environment}" end end |
#run ⇒ Object
185 186 187 188 189 190 |
# File 'lib/active_support/testing/performance.rb', line 185 def run return unless @supported [:runs].to_i.times { run_test(@metric, :benchmark) } @total = @metric.total end |