Как я могу использовать данные сетевой панели Firebug программно?

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

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

Firebug в настоящее время фиксирует эту информацию в своей сетевой панели, однако я не нашел никакого способа программно извлечь эту информацию.

Кто-нибудь знает, как получить эту информацию после загрузки страницы?

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

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

Спасибо.


person Benjamin Lee    schedule 30.01.2009    source источник


Ответы (6)


Ян Одварко написал учебник о том, как использовать новую функцию прослушивания в Firebug для регистрации результатов сетевой панели:

«Начиная с Firebug 1.4a13 панель «Сеть» представляет, среди прочего, несколько новых событий, которые позволяют легко собирать все сетевые запросы, а также соответствующую информацию, собираемую и вычисляемую Firebug.

Эта функция должна быть полезна также в тех случаях, когда расширения Firebug хотят сохранять информацию о сетевой активности в локальной базе данных или отправлять ее обратно на сервер для дальнейшего анализа (здесь я думаю о статистике производительности)».

person Lorenz    schedule 19.03.2009

Взгляните на расширение NetExport для FireBug.

Шаги:

  1. включить автоэкспорт в настройках (вы также можете автоматизировать его)
  2. выберите папку, в которую необходимо добавить данные
  3. Прочитать файл
person srinivas    schedule 11.05.2011
comment
Хорошо, это круто. Файл можно прочитать программно, но для этого конкретная веб-страница должна быть открыта в FF. Значит, мы должны это автоматизировать? - person SilentAssassin; 22.03.2013

Хотя это не решение Firebug, возможно, что-то вроде Jiffy поможет?

Jiffy в значительной степени работает как серверная версия измерительных инструментов Firebug. Я еще не использовал его в гневе, но он может сделать то, что вы ищете?

http://code.google.com/p/jiffy-web/

Jiffy позволяет разработчикам:

  • измерять отдельные части рендеринга страницы (загрузка скрипта, выполнение AJAX, загрузка страницы и т. д.) на каждом клиенте
  • передавать эти измерения и другие метаданные на веб-сервер
  • агрегировать журналы веб-сервера в базу данных
  • создавать отчеты
person Community    schedule 13.02.2009
comment
Моя единственная проблема с решением Jiffy заключается в том, что оно, по-видимому, требует внедрения Jiffy .js и кода сигнализации на страницы приложения. Учитывая существующую сложность многих наших страниц и тип данных о взаимодействии, которые мы ищем, это может оказаться неосуществимым. Однако хорошее предложение. - person Benjamin Lee; 14.02.2009

Есть способ использовать ySlow для отправки данных о производительности на URL по вашему выбору. Это не очень хорошо документировано, единственная информация, которую я нашел, была здесь:

http://tech.groups.yahoo.com/group/exceptional-performance/messages/490?threaded=1&m=e&var=1&tidx=1

Помимо этого, я хотел бы написать плагин Firebug, я думаю, вы можете получить доступ к большинству свойств Firebug. Вот руководство: http://www.firephp.org/Reference/Developers/ExtendingFirebug.htm

person Ryan Doherty    schedule 13.02.2009
comment
Очень интересно. Это близко к тому, что я искал. Я читал плагины Firebug и FF, пытаясь сделать именно это. Спасибо за ссылку YSlow. - person Benjamin Lee; 14.02.2009

Бен, я сделал это с помощью расширенного ProxyHandler Selenium RC, чтобы ставить в очередь просмотренные URL-адреса, а затем позволять вам извлекать их через какой-либо другой API. Для этого требуется проксировать все, что не является поведением Selenium по умолчанию. Приятно то, что Selenium становится местом как для управления автоматизацией, так и для сбора увиденных результатов.

Вероятно, это функция, которую мы скоро добавим в Selenium RC сразу после выхода версии 1.0 (мы очень близки!).

person Patrick Lightbody    schedule 17.02.2009
comment
Очень круто. Буквально сегодня я разговаривал с коллегой о расширении прокси-API, который он написал, чтобы сделать что-то подобное ... нас беспокоила только интеграция с Selenium или любым другим инструментом веб-тестирования. Спасибо за совет. - person Benjamin Lee; 18.02.2009
comment
Бен - нет проблем. Не стесняйтесь, пишите мне по адресу patrick at browsermob dot com, если вам нужен пример кода для начала работы. - person Patrick Lightbody; 18.02.2009

Хорошо, я признаю, что это не прямой ответ, но как насчет того, чтобы перейти прямо к источнику? Вырубите FireBug и зайдите на веб-сервер. Может ли сервер регистрировать события с достаточной степенью детализации, чтобы можно было вычислить требуемую информацию? Преобразование файла журнала в полезные данные не должно быть особенно сложным и имеет то преимущество, что оно не зависит от пользовательской платформы и может регистрировать больший набор данных, чем тот, который предлагает FireBug (кстати, потрясающий инструмент).

person Paxic    schedule 10.02.2009
comment
Это определенно вариант, однако, учитывая нашу текущую конфигурацию сервера, мы не собираем эти данные. Спасибо за предложение. - person Benjamin Lee; 14.02.2009