Tôi đang tạo thử nghiệm Hiệu suất Rails, như được mô tả trong Rails Guide và tôi đang gặp sự cố với ruby-prof.Lỗi với ruby-prof trong Kiểm tra Hiệu suất Đường ray
Tôi đang sử dụng Ruby 1.9.2-p0 (mặc dù đã gặp sự cố tương tự trên p320) và Rails 3.1.0.
Tôi có một thử nghiệm khá đơn giản cho bộ điều khiển tương đương với this example.
Theo the guide, tôi cần phải cài đặt chuyên gia ruby trước khi tôi có thể sử dụng kiểm tra hiệu suất. Chắc chắn, nếu tôi chạy thử nghiệm hiệu suất của tôi mà không có nó, tôi nhận được:
Specify ruby-prof as application's dependency in Gemfile to run benchmarks.
Nếu tôi làm theo hướng dẫn của hướng dẫn để lá thư, tôi thêm video này vào Gemfile tôi:
gem 'ruby-prof', :git => 'git://github.com/wycats/ruby-prof.git'
... và nhận phiên bản 0.11.0 từ kho lưu trữ wycats. Khi tôi chạy thử nghiệm của mình, tôi nhận được lỗi này:
/Users/craig/.rvm/gems/ruby-1.9.2-p0/bundler/gems/ruby-prof-ffae61a89553/lib/ruby-prof/abstract_printer.rb:44:in `inspect': undefined method `to_s' for #<Class:0x000001025a3f18> (NoMethodError)
from /Users/craig/.rvm/gems/ruby-1.9.2-p0/bundler/gems/ruby-prof-ffae61a89553/lib/ruby-prof/abstract_printer.rb:44:in `full_name'
...
Nhưng "wycats" dường như không phải là repo Github chuẩn cho ruby-prof. Tài liệu đề cập đến rdp (Roger Pack). Nếu tôi sử dụng repo thay vì:
gem 'ruby-prof', :git => 'git://github.com/rdp/ruby-prof.git'
... tôi nhận được phiên bản 0.11.2, và nhận được lỗi này:
/Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance/ruby.rb:39:in
run': undefined method
values' for [#]:Array (NoMethodError) from /Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance.rb:140:in `run_profile' ...
tôi nhận được lỗi tương tự nếu tôi chỉ cần sử dụng đá quý từ rubygems trực tiếp (một lần nữa, phiên bản 0.11.2):
gem 'ruby-prof'
Bất kỳ ý tưởng gì đang xảy ra hoặc cách giải quyết?
tuyệt vời! cám ơn rất nhiều. Bản vá này có được gửi lên đường ray, không tò mò không? – pjammer