JQuery профилирование - измерить полное время выполнения - PullRequest
0 голосов
/ 06 августа 2009

Я бы хотел измерить, сколько времени потребуется для запуска всей области $ (). Ready () на каждой странице.

Для профилирования определенных функций я просто устанавливаю новую переменную Date () в начале соответствующей части, а затем проверяю, сколько времени потребуется, чтобы добраться до конца соответствующей части.

Проблема с измерением всей области действия $ (). Ready заключается в том, что она может иногда выполнять некоторый код асинхронно, а затем я не могу дождаться завершения всего этого кода и посмотреть, сколько времени это заняло.

Есть ли какое-либо событие, которое запускается после того, как страница полностью закончила выполнение всего кода $ (). Ready?

РЕДАКТИРОВАТЬ : Использование Firebug или других клиентских отладчиков не вариант, так как мне также нужно собрать эту информацию профилирования от пользователей сайта для мониторинга и графика скорости загрузки страниц нашего сайта

Спасибо!

Ответы [ 3 ]

1 голос
/ 06 августа 2009

Замените функцию готовности jQuery на функцию, которая выполняет отслеживание начала и окончания и вызывает оригинальный метод.

jQuery.ready = (function() {
    var original = jQuery.ready;
    return function() {
        alert('starting profiler');
        original();
        alert('ending profiler');
    };
})();

$(function() {
    alert('this message will appear between the profiler messages above...');
});
1 голос
/ 06 августа 2009

Событие не будет запущено, потому что для ready () практически невозможно узнать, когда выполняются какие-либо асинхронные функции. Таким образом, вам нужно испечь эту функциональность в себе; Вы можете использовать пользовательские события jQuery или, возможно, установить функцию для запуска в setInterval (), которая может анализировать среду и определять, все ли сделано.

0 голосов
/ 06 августа 2009

Вы пробовали использовать Profiler в Firebug?

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