2010-11-16 43 views
16

Tôi cần phải cấu hình tác vụ cào. Nguyên nhân tôi không biết tôi chỉ biết cách lập hồ sơ .rb mã số như sau: ruby -Ilib -S ruby-prof -p graph_html profile.rb > profile.htmlLàm thế nào để cấu hình nhiệm vụ Rake?

Nhưng làm cách nào để tôi cấu hình một nhiệm vụ Rake cụ thể?

Trả lời

18

Rake chỉ là một tập lệnh Ruby, vì vậy bạn có thể chỉ cần gọi ruby-prof chống lại rake, giống như cách bạn tạo hồ sơ cho bất kỳ tập lệnh nào khác.

Với gọi bạn của ruby-prof, hãy thử:

ruby -Ilib -S ruby-prof -p graph_html `which rake` TASK > profile.html 

Tôi vừa mới sử dụng dòng lệnh sau:

ruby-prof -p graph_html /usr/local/bin/rake19 import_from_aws file=~/sourcedata batch=test1 > /tmp/profile.html 

Về Hồ Sơ tức lời khẩn cầu:

rake19 import_from_aws file=~/sourcedata batch=test1 
+0

làm việc cho tôi, cảm ơn! – KIR

+0

'\' mà rake \ '' làm thủ thuật ... Tôi không biết 'ruby-prof' yêu cầu đường dẫn đầy đủ của kịch bản ruby ​​đến hồ sơ. –

+2

Đối với những người sử dụng ** rbenv ** sử dụng 'rbenv mà rake' – collimarco

1

Nếu bạn muốn 'thô sơ' profiling và muốn tìm ra nhiệm vụ nào là nút cổ chai, tôi đề nghị mảnh tuyệt vời của Mike William mã số từ here. Nó đã làm việc rất đẹp khi tôi đang lược tả các nhiệm vụ Rake của mình.

module Rake 
    class Task 
    def execute_with_timestamps(*args) 
     start = Time.now 
     execute_without_timestamps(*args) 
     execution_time_in_seconds = Time.now - start 
     printf("** %s took %.1f seconds\n", name, execution_time_in_seconds) 
    end 

    alias :execute_without_timestamps :execute 
    alias :execute :execute_with_timestamps 
    end 
end 
Các vấn đề liên quan