Производительность: метод 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}`);
}
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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