Spec-Zone.ru › Web APIs

PerformanceEntry

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

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

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

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

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

API производительности предлагает встроенные метрики, которые являются специализированными подклассами PerformanceEntry. Это включает в себя записи для загрузки ресурсов, тайминга событий и многое другое.

Запись производительности также можно создать, вызвав методы Performance.mark() или Performance.measure() в явном месте приложения. Это позволяет добавить собственные метрики в временную шкалу производительности.

Экземпляры PerformanceEntry всегда будут одним из следующих подклассов:

  • LargestContentfulPaint
  • LayoutShift
  • PerformanceEventTiming
  • PerformanceLongAnimationFrameTiming
  • PerformanceLongTaskTiming
  • PerformanceMark
  • PerformanceMeasure
  • PerformanceNavigationTiming
  • PerformancePaintTiming
  • PerformanceResourceTiming
  • PerformanceScriptTiming
  • PerformanceServerTiming
  • TaskAttributionTiming
  • VisibilityStateEntry

Свойства экземпляра

PerformanceEntry.name Только для чтения

Строка, представляющая имя записи производительности. Значение зависит от подтипа.

PerformanceEntry.entryType Только для чтения

Строка, представляющая тип показателя производительности. Например, "mark" при использовании PerformanceMark.

PerformanceEntry.startTime Только для чтения

DOMHighResTimeStamp, представляющий начальное время показателя производительности.

PerformanceEntry.duration Только для чтения

DOMHighResTimeStamp, представляющий длительность записи производительности.

Методы экземпляра

PerformanceEntry.toJSON()

Возвращает JSON-представление объекта PerformanceEntry.

Пример

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

Следующий пример создаёт объекты PerformanceEntry, которые являются типами PerformanceMark и PerformanceMeasure. Подклассы PerformanceMark и PerformanceMeasure наследуют свойства duration, entryType, name, и startTime от PerformanceEntry и устанавливают их соответствующие значения.

// Place at a location in the code that starts login
performance.mark("login-started");

// Place at a location in the code that finishes login
performance.mark("login-finished");

// Measure login duration
performance.measure("login-duration", "login-started", "login-finished");

function perfObserver(list, observer) {
  list.getEntries().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}`);
    }
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });

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

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

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

Десктоп Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
PerformanceEntry 4625 12 35 3315 11 4625 35 3314 11 5.01.5 464.4
duration 28 12 35 15 11 28 35 14 11 1.5 4.4
entryType 28 12 35 15 11 28 35 14 11 1.5 4.4
name 28 12 35 15 11 28 35 14 11 1.5 4.4
startTime 28 12 35 15 11 28 35 14 11 1.5 4.4
toJSON 45 16 35 32 11 45 35 32 11 5.0 45
worker_support 62 15 60 49 11 62 60 46 11 8.0 62

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

Spec-Zone.ru

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