Я работаю над внутренней корпоративной системой, которая имеет веб-фронтенд с помощью Tomcat.
Править: Идеально, я должен контролировать рендеринг на клиентах, получающих доступ к страницам.
В случае, если в браузере включен JavaScript, вы можете написать встроенный скрипт и отправьте его первым делом в своем HTML. Сценарий будет делать две вещи:
<script language="JavaScript">
var renderStart = new Date().getTime();
window.onload=function() {
var elapsed = new Date().getTime()-renderStart;
// send the info to the server
alert('Rendered in ' + elapsed + 'ms');
}
</script>
... usual HTML starts here ...
Вам нужно будет убедиться, что страница не переопределяет загрузку позже в коде, а вместо этого добавляется в список обработчиков событий.
Взгляните на Selenium - они предлагают пульт дистанционного управления, который может автоматически запускать различные браузеры (например, IE6), загружать страницы, проверять наличие определенного контента на странице. В конце создаются отчеты, которые также показывают время отрисовки.
Поскольку другие публикуют ответы, использующие другие браузеры, думаю, я тоже буду. Chrome имеет очень подробную систему профилирования, которая разбивает время отрисовки страницы и показывает время, которое потребовалось для каждого шага на этом пути.
Что касается IE, вы можете подумать о написании плагина. Похоже, что на рынке мало таких инструментов. Может, ты его продашь.
В Firefox вы можете использовать Firebug для мониторинга времени загрузки. С помощью плагина YSlow вы можете даже получить рекомендации по улучшению производительности.
Что касается неинвазивных методов, Hammerhead измеряет время полной загрузки (включая выполнение JavaScript), хотя и только в Firefox.
Я видел полезные результаты, когда фрагмент JavaScript можно было добавить глобально для измерения начала и конца каждой операции загрузки страницы.