Spec-Zone.ru › Web APIs

PerformanceObserver: метод observe()

Базовая реализация Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Метод observe() интерфейса PerformanceObserver используется для указания набора типов записей производительности, которые необходимо наблюдать.

См. PerformanceEntry.entryType для списка типов записей и PerformanceObserver.supportedEntryTypes для списка типов записей, поддерживаемых пользовательским агентом.

При записи соответствующей записи производительности вызывается функция обратного вызова наблюдателя производительности — заданная при создании PerformanceObserver.

Синтаксис

observe(options)

Параметры

options

Объект со следующими возможными членами:

buffered

Флаг булевого типа, указывающий, следует ли добавлять буферизованные записи в буфер наблюдателя. Должен использоваться только с опцией type.

durationThreshold

DOMHighResTimeStamp, определяющий порог для записей PerformanceEventTiming. По умолчанию 104 мс и округляется до ближайших 8 мс. Минимальный возможный порог — 16 мс. Не может использоваться совместно с опцией entryTypes.

entryTypes

Массив строк, каждая из которых указывает один тип записи производительности для наблюдения. Не может использоваться совместно с опциями type, buffered, или durationThreshold.

См. PerformanceEntry.entryType для списка допустимых имен типов записей производительности. Нераспознанные типы игнорируются, хотя браузер может вывести сообщение об ошибке в консоль, чтобы помочь разработчикам отлаживать код. Если не найдено ни одного допустимого типа, observe() не имеет эффекта.

type

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

Возвращаемое значение

None (undefined).

Примеры

Наблюдение за несколькими типами записей производительности

В этом примере создается PerformanceObserver и наблюдаются типы записей "mark" и "measure" как указано в опции entryTypes метода observe().

const observer = new PerformanceObserver((list, obj) => {
  list.getEntries().forEach((entry) => {
    // Process "mark" and "measure" events
  });
});
observer.observe({ entryTypes: ["mark", "measure"] });

Наблюдение за одним типом записи производительности

Следующий пример извлекает буферизованные события и подписывается на новые события для событий тайминга ресурсов (PerformanceResourceTiming) с использованием параметров конфигурации buffered и type. Всякий раз, когда вам нужно настроить наблюдатель для использования опций buffered или durationThreshold, используйте type вместо entryType. Иначе сборка нескольких типов записей производительности не сработает.

const observer = new PerformanceObserver((list, obj) => {
  list.getEntries().forEach((entry) => {
    // Process "resource" events
  });
});
observer.observe({ type: "resource", buffered: true });

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

Спецификация
Performance Timeline
# dom-performanceobserver-observe

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
observe 52 79 57 39 11 52 57 41 11 6.0 52

© 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/PerformanceObserver/observe

Spec-Zone.ru

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