2010-11-15 27 views
8

Làm cách nào để hiển thị thời gian tải trang trong chế độ xem, tương tự như cách tệp nhật ký hiển thị "Hoàn thành 200 OK trong 19 mili giây (Lượt xem: 16.8ms | Mô hình: 0.497ms)"Thời gian tải trang hiển thị trong Rails 3

+0

Tất cả đều ở đây, bạn muốn gì hơn? – shingara

+5

Tôi nghĩ rằng anh ấy có nghĩa là hiển thị thời gian trong chế độ xem khi bạn xem nó trong trình duyệt .. không phải từ nhật ký – johnmcaliley

Trả lời

14

Bạn có thể muốn sử dụng Giây tốt hơn:

class ApplicationController < ActionController::Base 

    before_filter :set_start_time 

    def set_start_time 
    @start_time = Time.now.to_f 
    end 

end 

Xem Code:

Page Rendered in <%= sprintf('%.3f', (Time.now.to_f - @start_time)) %> seconds 
+1

Điều này thường sẽ dẫn đến giá trị âm, vì 'usec' kết thúc tốt đẹp đến 0 mỗi giây. –

10

bạn có thể làm điều này .. thêm một before_filter để application_controller của bạn:

class ApplicationController < ActionController::Base 
    protect_from_forgery 
    before_filter :init 

    def init 
    @start_time = Time.now 
    end 
end 

trong giao diện (tôi đang sử dụng HAML):

load_time=#{[email protected]_time} seconds 

này sẽ không được chính xác giống như thời gian bạn thấy trong nhật ký, vì tôi t chỉ từ before_filter đến nơi nó được gọi trong khung nhìn, nhưng nó phải gần.

+0

và tất nhiên điều này là xấu xí trong chế độ xem, chỉ hiển thị điều này để đơn giản. Bạn sẽ muốn đặt nó trong một người trợ giúp – johnmcaliley

+0

Đóng đủ cho tôi! Cảm ơn!!! –

0

Chỉ cần đi qua đoạn video dưới đây railcast bạn sẽ làm quen với tất cả các chi tiết có liên quan của bạn.

http://railscasts.com/episodes/368-miniprofiler?view=asciicast 
0

Bạn có thể sử dụng rack-mini-profiler để thêm một huy hiệu nhỏ vào đầu trang hiển thị tất cả chi tiết tốc độ hiển thị.

Các vấn đề liên quan