Spec-Zone.ru › Web APIs

Производительность: метод getEntries()

Базовая Широко поддерживается

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

  • Узнать больше
  • Посмотреть полную совместимость
  • Отправить отзыв

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

Метод getEntries() возвращает массив всех объектов PerformanceEntry, которые в данный момент присутствуют в временной шкале производительности.

Если вас интересуют только записи производительности определенных типов или с определенными именами, обратитесь к getEntriesByType() и getEntriesByName().

Примечание: Этот метод не уведомляет вас о новых записях производительности; вы получите только те записи, которые присутствуют во временной шкале производительности на момент вызова этого метода. Чтобы получать уведомления о записях по мере их появления, используйте PerformanceObserver.

Следующие типы записей вообще не поддерживаются этим методом и не будут возвращены, даже если записи этих типов могут существовать:

  • "element" (PerformanceElementTiming)
  • "event" (PerformanceEventTiming)
  • "largest-contentful-paint" (LargestContentfulPaint)
  • "layout-shift" (LayoutShift)
  • "longtask" (PerformanceLongTaskTiming)

Для доступа к записям этих типов необходимо использовать PerformanceObserver.

Синтаксис

getEntries()

Параметры

Нет.

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

Array объектов PerformanceEntry. Элементы будут упорядочены в хронологическом порядке на основе startTime записей.

Примеры

Вывод всех маркеров и мер производительности

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

// Example markers/measures
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");
performance.mark("video-loaded");
performance.measure("login-duration", "login-started", "login-finished");

const entries = performance.getEntries();

entries.forEach((entry) => {
  if (entry.entryType === "mark") {
    console.log(`${entry.name}'s startTime: ${entry.startTime}`);
  }
  if (entry.entryType === "measure") {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  }
});

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

Спецификация
Временная шкала производительности
# dom-performance-getentries

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getEntries 2825–36 12 35 1515–23 11 2825–36 35 1514–24 11 1.51.5–3.0 4.4

См. также

  • Performance.getEntriesByType()
  • Performance.getEntriesByName()

© 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/getEntries

Spec-Zone.ru

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