Подтвердить что ты не робот

Мониторинг реального пользователя: стандарты надежности

Существуют ли стандарты для приемлемой потери маяковых данных при измерении производительности веб-страниц и стандартный способ учета этих потерь?

У многих пользователей нет браузера, который поддерживает Navigator.sendBeacon, и даже этот API не может гарантировать отчетность без потерь.

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

4b9b3361

Ответ 1

"стандарты приемлемой потери", это шутка:), если вы ссылаетесь на W3.org поскольку, по их словам, для всех разработчиков проблема заключается в обеспечении правильной отправки данных без потерь. но вы найдете некоторые методы, которые используются в надежде, что все будет нормально работать "без грантополучателя": D. также читайте this

Спецификация Beacon определяет интерфейс, который веб-разработчики могут использовать для асинхронной передачи небольших HTTP-данных из User Agent в веб-сервер.

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

Пользовательские агенты обычно игнорируют асинхронные XMLHttpRequests, сделанные в обработчик разгрузки. Чтобы решить эту проблему, аналитика и диагностика код, как правило, делает синхронный XMLHttpRequest в разгрузке или beforeunload обработчик для отправки данных. Синхронный XMLHttpRequest заставляет пользовательский агент задерживать разгрузку документа, и делает следующую навигацию медленнее. Ничего нет следующая страница может сделать, чтобы избежать этого восприятия плохой загрузки страницы производительность.

Существуют другие методы, используемые для обеспечения передачи данных. Один такой метод заключается в задержке разгрузки, чтобы создание элемента изображения и установка его атрибута src в пределах выгрузите обработчик. Поскольку большинство пользовательских агентов задерживают выгрузку для завершения ожидаемая загрузка изображения, данные могут быть отправлены во время разгрузки. Другой способ - создать цикл no-op в течение нескольких секунд в пределах обработчик выгрузки для задержки выгрузки и отправки данных на сервер.

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