Отображение показателей производительности в современном веб-приложении? - PullRequest
1 голос
/ 29 мая 2010

Мы обновляем наше древнее внутреннее PHP-приложение на работе. Прямо сейчас мы собираем обширные измерения производительности при каждом просмотре страниц и записываем их в базу данных. Кроме того, пользователи просили, чтобы некоторые показатели отображались внизу страницы. Это хорошо сработало для нас, потому что последнее, что приложение делает для каждого запроса, это включает файл, содержащий нижний колонтитул HTML. Код нижнего колонтитула вызывает функцию для записи метрик производительности в базу данных и возвращает их для включения в вывод пользователю.

Обновленные части приложения используют инфраструктуру MVC и цикл отправки / запроса / ответа. Нижний колонтитул страницы больше не последнее, что сделано. На самом деле, это вполне может быть первым делом, прежде чем будет создана остальная часть страницы.

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

Как вы справляетесь с этим в своем современном веб-приложении? Пока мы используем PHP, мне любопытно, как это делается в приложении Ruby / Rails и в вашей любимой среде Python.

1 Ответ

1 голос
/ 29 мая 2010

В Zend Framework для PHP мы перегружены postDispatch(), где мы прикрепляем партиал, который вызывает помощника, который собирает окончательные метрики (по крайней мере, я считаю, что именно так мы и делаем). Другой способ - перегрузить объект ответа Zend Framework, чтобы добавить его после действия render.

RoR обладает такой же способностью (перегрузка каждого шага рендеринга), и я уверен, что большинство MVC-сред будет также. Как примечание, я помню, что CodIgniter имел автоматическую отладочную информацию в режиме разработки, это должен быть простой случай, чтобы найти, где это отрисовано, и смоделировать его.

Удачи.

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