Performance: mark() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die mark()-Methode erstellt ein benanntes PerformanceMark-Objekt, das einen hochauflösenden Zeitstempel im Leistungstimeline des Browsers darstellt.

Syntax

js
mark(name)
mark(name, markOptions)

Parameter

name

Ein String, der den Namen des Marks darstellt. Darf nicht derselbe Name sein wie einer der Eigenschaften des veralteten PerformanceTiming-Interfaces.

markOptions Optional

Ein Objekt zur Spezifikation eines Zeitstempels und zusätzlicher Metadaten für das Mark.

detail Optional

Beliebige Metadaten, die im Mark enthalten sein sollen. Standardmäßig null. Muss strukturierbar kopierbar sein.

startTime Optional

DOMHighResTimeStamp, der als Mark-Zeit verwendet werden soll. Standardmäßig performance.now().

Rückgabewert

Der erstellte PerformanceMark-Eintrag.

Ausnahmen

Beispiele

Erstellen benannter Marker

Das folgende Beispiel verwendet mark(), um benannte PerformanceMark-Einträge zu erstellen. Sie können mehrere Marks mit demselben Namen erstellen. Sie können ihnen auch zuweisen, um eine Referenz auf das erstellte PerformanceMark-Objekt zu haben.

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

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

Erstellen von Markern mit Details

Das Performance-Mark ist konfigurierbar mit dem markOptions-Objekt, in dem Sie zusätzliche Informationen in der detail-Eigenschaft platzieren können, die von jedem Typ sein kann.

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

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

Erstellen von Markern mit einer anderen Startzeit

Der Standard-Zeitstempel der mark()-Methode ist performance.now(). Sie können ihn mithilfe der startTime-Option in markOptions auf eine andere Zeit setzen.

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

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

Reservierte Namen

Beachten Sie, um die Abwärtskompatibilität zu wahren, können Namen, die Teil des veralteten PerformanceTiming-Interfaces sind, nicht verwendet werden. Das folgende Beispiel führt zu einem Fehler:

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

Spezifikationen

Specification
User Timing Level 3
# dom-performance-mark

Browser-Kompatibilität

BCD tables only load in the browser