Spec-Zone.ru › Web APIs

API производительности

Примечание: Эта функция доступна в Веб-воркерах.

API производительности — это набор стандартов, используемых для измерения производительности веб-приложений.

Концепции и использование

Для обеспечения высокой скорости веб-приложений важно измерять и анализировать различные показатели производительности. API производительности предоставляет важные встроенные метрики и возможность добавлять собственные измерения к временной шкале производительности браузера. Временная шкала производительности содержит точные временные метки и может отображаться в инструментах разработчика. Вы также можете отправлять данные в конечные точки аналитики для записи показателей производительности со временем.

Каждый показатель производительности представлен отдельной PerformanceEntry. Вход данных производительности имеет name, duration, startTime, и type. Все показатели производительности расширяют интерфейс PerformanceEntry и дополняют его.

Большинство показателей производительности записываются автоматически без вашего участия и затем доступны либо через Performance.getEntries(), либо (предпочтительнее) через PerformanceObserver. Например, записи PerformanceEventTiming регистрируются для событий, которые занимают более установленного порога времени. Но API производительности также позволяет определять и записывать собственные пользовательские события с использованием интерфейсов PerformanceMark и PerformanceMeasure.

Основной интерфейс Performance доступен как в глобальном окружении Window, так и в глобальном окружении Worker и позволяет добавлять пользовательские записи производительности, очищать записи производительности и извлекать записи производительности.

Интерфейс PerformanceObserver позволяет прослушивать различные типы записей производительности по мере их регистрации.

Для получения более концептуальной информации см. руководства по API производительности ниже.

UML diagram of Performance APIs

Справочник

В API производительности присутствуют следующие интерфейсы:

EventCounts

Только для чтения карта, возвращаемая performance.eventCounts, содержащая количество событий, обработанных по каждому типу событий.

LargestContentfulPaint

Измеряет время отображения самого большого видимого в области просмотра изображения или блока текста, начиная с момента начала загрузки страницы.

LayoutShift

Предоставляет информацию об устойчивости макета веб-страниц, основанную на перемещении элементов на странице.

LayoutShiftAttribution

Предоставляет данные отладки об элементах, которые сместились.

NotRestoredReasonDetails

Представляет одну из причин, по которым просматриваемая страница не смогла использовать кэш вперёд/назад (bfcache).

NotRestoredReasons

Предоставляет отчётные данные, содержащие причины, по которым текущий документ не смог использовать кэш вперёд/назад (bfcache) при переходе.

Performance

Основной интерфейс для доступа к измерениям производительности. Доступен в контекстах окна и рабочего потока с помощью Window.performance или WorkerGlobalScope.performance.

PerformanceElementTiming

Измеряет временные метки отображения определённых элементов.

PerformanceEntry

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

PerformanceEventTiming

Измеряет задержку событий и Interaction to Next Paint (INP).

PerformanceLongAnimationFrameTiming

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

PerformanceLongTaskTiming

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

PerformanceMark

Пользовательский маркер для собственной записи на временной шкале производительности.

PerformanceMeasure

Пользовательское измерение времени между двумя записями производительности.

PerformanceNavigationTiming

Измеряет события навигации документа, например, время, необходимое для загрузки документа.

PerformanceObserver

Прослушивает новые записи производительности по мере их регистрации во временной шкале производительности.

PerformanceObserverEntryList

Список записей, которые были пронаблюдены в наблюдателе производительности.

PerformancePaintTiming

Измеряет операции отображения при построении веб-страницы.

PerformanceResourceTiming

Измеряет метрики загрузки сети, такие как время начала и окончания перенаправления, время начала и окончания поиска DNS, время начала и окончания ответа для ресурсов, таких как изображения, скрипты, запросы fetch и т.д.

PerformanceScriptTiming

Предоставляет метрики по отдельным скриптам, вызывающим длительные кадры анимации (LoAF).

PerformanceServerTiming

Отображает метрики сервера, которые отправляются с ответом в заголовке HTTP Server-Timing.

TaskAttributionTiming

Определяет тип задачи и контейнер, ответственный за длительную задачу.

VisibilityStateEntry

Измеряет время изменений состояния видимости страницы, например, когда вкладка переключается с фоновой на переднюю или наоборот.

Руководства

Следующие руководства помогут вам понять ключевые концепции API производительности и предоставят обзор его возможностей:

  • Данные производительности: сбор, доступ и работа с данными производительности.
  • Высокоточная временная отметка: измерение с высокой точностью времени и монотонных часов.
  • Измерение времени ресурсов: измерение времени загрузки ресурсов, загруженных по сети, таких как изображения, CSS и JavaScript.
  • Измерение времени навигации: измерение времени навигации документа.
  • Измерение времени пользователя: измерение и запись данных производительности, настраиваемых под ваше приложение.
  • Измерение времени сервера: сбор метрик со стороны сервера.
  • Измерение времени длительных кадров анимации: сбор метрик по длительным кадрам анимации (LoAF) и их причинам.
  • Мониторинг причин блокировки bfcache: отчёт о причинах, по которым текущий документ не смог использовать кэш вперёд/назад (bfcache).

Спецификации

Спецификация
API времени отображения элементов
API времени событий
Высокоточные часы
Largest Contentful Paint
API нестабильности макета
API длительных задач
Навигационное время (уровень 2)
Время отображения
Временная шкала производительности
Время загрузки ресурсов
Время сервера
Измерение времени пользователя
API длительных кадров анимации
API измерения памяти
HTML
# the-visibilitystateentry-interface
HTML
# the-notrestoredreasons-interface

См. также

  • Производительность веб-приложений
  • Изучение: Производительность веб-приложений
END_OF_DOCUMENT_MARKER

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Performance_API

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API