Отображение времени загрузки страницы в Rails 3 - PullRequest
9 голосов
/ 15 ноября 2010

Как я могу отобразить время загрузки страницы в представлении, аналогично тому, как файл журнала показывает «Завершено 200 OK за 19 мс (Просмотры: 16,8 мс | Модели: 0,497 мс)»

Ответы [ 4 ]

15 голосов
/ 11 марта 2012

Возможно, вы захотите использовать секунды лучше:

class ApplicationController < ActionController::Base

  before_filter :set_start_time

  def set_start_time
    @start_time = Time.now.to_f
  end

end

Посмотреть код:

Page Rendered in <%= sprintf('%.3f', (Time.now.to_f - @start_time) ) %> seconds
10 голосов
/ 15 ноября 2010

Вы можете сделать это .. добавить before_filter к вашему application_controller:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :init

  def init
    @start_time = Time.now
  end
end

в представлении (я использую HAML):

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

Это не будетточно так же, как время, которое вы видите в журналах, так как это только от before_filter до места, где он был вызван в представлении, но оно должно быть близко.

0 голосов
/ 18 октября 2017

Вы можете использовать rack-mini-profiler , который добавляет небольшой значок в верхнюю часть страницы, показывая все детали скорости рендеринга.

0 голосов
/ 30 апреля 2015

Просто просмотрите нижеприведенное видео, и вы узнаете все интересующие вас детали.

http://railscasts.com/episodes/368-miniprofiler?view=asciicast
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...