Для Ruby on Rails, как отобразить в Product Management время, необходимое для отображения страницы, прямо на самой странице? - PullRequest
0 голосов
/ 30 марта 2011

Я знаю из журнала сервера (или вывода консоли), что время показа страницы можно увидеть. Но как насчет для менеджера продукта , чтобы увидеть в реальном времени, сколько времени требуется для отображения страницы? (также для наглядности для разработчика)

Я пытался использовать в самом начале действия контроллера

@time_start = Time.now

и в конце представления макета приложения покажите

Time.now - @time_start

на самом деле, это немного близко ... от 3% до 5%. Но есть ли способ показать как можно ближе или даже как-то показать, что показывает журнал сервера?

Например, есть ли @time_start, который Rails сохраняет в самом начале даже до того, как он выполняет какую-либо маршрутизацию? Может быть, отметка времени, когда запрос получен сервером?

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Новая реликвия имеет режим разработчика, который даст вам представление о времени, необходимом для отображения страницы

1 голос
/ 30 марта 2011

Прежде всего, я предлагаю проверить решение для тестирования на Rails, например, New Relic (это бесплатно в режиме разработки!).

Однако, если вы хотите сделать это для себяЯ бы предложил подключиться к Middleware и установить время там.

Это должно помочь вам начать:

http://asciicasts.com/episodes/151-rack-middleware

0 голосов
/ 30 марта 2011

К сожалению, это невозможно сделать за один проход - по определению!Вы никогда не сможете отрендерить полное количество времени, необходимое для отображения страницы на самой странице, потому что эта страница, очевидно, все еще обрабатывается.

Если вы хотите бытьсупер-точный, вам, вероятно, придется кэшировать полное время рендеринга (возможно, в сеансе?) и извлекать его с помощью JS.Или вы можете показать это на странице next , но это может сбить с толку.

Если вы хотите подойти как можно ближе, но не хотите беспокоиться о вышеизложенном,тогда я бы порекомендовал поместить вашу <%= @start_time - Time.now %> строку в конец вашей компоновки - такие вещи, как content_for помощник, подразумевают, что макет фактически отображается после шаблон страницы.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...