Spec-Zone.ru › Web APIs

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

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

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

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

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

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

Синтаксис

mark(name)
mark(name, markOptions)

Параметры

name

Строка, представляющая имя отметки. Не должно совпадать с именем одного из свойств устаревшего интерфейса PerformanceTiming.

markOptions Необязательно

Объект для указания отметки времени и дополнительной метаданных для отметки.

detail Необязательно

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

startTime Необязательно

DOMHighResTimeStamp для использования в качестве времени отметки. По умолчанию performance.now().

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

Элемент PerformanceMark, который был создан.

Исключения

  • SyntaxError: Бросается, если имя name совпадает с именем одного из свойств устаревшего интерфейса PerformanceTiming. См. пример ниже .
  • TypeError: Бросается, если значение startTime отрицательное.

Примеры

Создание именованных маркеров

В следующем примере используется mark() для создания именованных элементов PerformanceMark. Вы можете создать несколько маркеров с одинаковым именем. Вы также можете присвоить их, чтобы иметь ссылку на объект PerformanceMark, который был создан.

performance.mark("login-started");
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");

const videoMarker = performance.mark("video-loaded");

Создание маркеров с подробностями

Маркер производительности настраивается с помощью объекта markOptions, где вы можете добавить дополнительную информацию в свойство detail, которое может быть любого типа.

performance.mark("login-started", {
  detail: "Login started using the login button in the top menu.",
});

performance.mark("login-started", {
  detail: { htmlElement: myElement.id },
});

Создание маркеров с другим временем начала

Значение по умолчанию для отметки времени в методе mark() — performance.now(). Вы можете задать другое время, используя параметр startTime в markOptions.

performance.mark("start-checkout", {
  startTime: 20.0,
});

performance.mark("login-button-pressed", {
  startTime: myEvent.timeStamp,
});

Зарезервированные имена

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

performance.mark("navigationStart");
// SyntaxError: "navigationStart" is part of
// the PerformanceTiming interface,
// and cannot be used as a mark name

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

Спецификация
User Timing
# dom-performance-mark

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
mark 28–25 12 38 33 11 28–25 42 33 11 1.5 4.4
markOptions_parameter 78 79 101 65 14.1 78 101 56 14.5 12.0 78
returns_performancemark 78 79 101 65 14.1 78 101 56 14.5 12.0 78

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

Spec-Zone.ru

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