开发者

Display Page Load Time in Rails 3

开发者 https://www.devze.com 2023-01-25 09:42 出处:网络
How can I display the page load time in the view, similar to how the log file shows开发者_C百科 \"Completed 200 OK in 19ms (Views: 16.8ms | Models: 0.497ms)\"You might want to use Seconds better:

How can I display the page load time in the view, similar to how the log file shows开发者_C百科 "Completed 200 OK in 19ms (Views: 16.8ms | Models: 0.497ms)"


You might want to use Seconds better:

class ApplicationController < ActionController::Base

  before_filter :set_start_time

  def set_start_time
    @start_time = Time.now.to_f
  end

end

View Code:

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


You can do this.. add a before_filter to your application_controller:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :init

  def init
    @start_time = Time.now
  end
end

in the view (I am using HAML):

load_time=#{Time.now-@start_time} seconds

This is not going to be exactly the same as the time you see in the logs, since it's only from the before_filter to the place where it was called in the view, but it should be close.


Just go through the below railcast video you'll get to know all your concerned details.

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


You could use rack-mini-profiler which adds a little badge to the top of the page showing all the details of the rendering speed.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号