PerformanceMark: PerformanceMark() Konstruktor
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Mai 2022.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Der PerformanceMark()-Konstruktor erstellt einen Zeitstempel mit dem angegebenen Namen.
Im Gegensatz zu performance.mark() werden von dem Konstruktor erstellte Performance-Marken nicht zur Performance-Zeitleiste des Browsers hinzugefügt. Das bedeutet, dass Aufrufe der getEntries*()-Methoden der Performance-Schnittstelle (getEntries(), getEntriesByName() oder getEntriesByType()) keine Einträge für diese Marken anzeigen werden.
Syntax
new PerformanceMark(name)
new PerformanceMark(name, markOptions)
Parameter
name-
Ein String, der den Namen der Marke repräsentiert.
markOptionsOptional-
Ein Objekt, um einen Zeitstempel und zusätzliche Metadaten für die Marke anzugeben.
detailOptional-
Beliebige Metadaten, die in die Marke aufgenommen werden sollen. Standardmäßig
null.devtoolsOptional Experimentell-
Einige Browser verwenden ein strukturiertes
devtools-Objekt innerhalb desdetail-Objekts als Teil einer Extensibility API, die diese in benutzerdefinierten Tracks in Performance-Diagrammen anzeigt. Weitere Informationen finden Sie in der Chrome Extensibility API-Dokumentation.dataTypeExperimentell-
Ein String, der auf
markergesetzt sein muss. Identifiziert als Marker. colorOptional Experimentell-
Standardmäßig
"primary". Muss eine der folgenden sein:"primary","primary-light","primary-dark","secondary","secondary-light","secondary-dark","tertiary","tertiary-light","tertiary-dark","error". propertiesOptional Experimentell-
Array von Schlüssel-Wert-Paaren. Werte können jeder JSON-kompatible Typ sein.
tooltipTextOptional Experimentell-
Kurze Beschreibung für das Tooltip.
startTimeOptional-
DOMHighResTimeStamp, der als Markierungszeit verwendet werden soll. Standardmäßigperformance.now().
Rückgabewert
Ein PerformanceMark-Objekt.
Ausnahmen
SyntaxError: Wird ausgelöst, wenn dername, der dieser Methode übergeben wird, bereits in derPerformanceTiming-Schnittstelle existiert.TypeError: Wird ausgelöst, wennstartTimenegativ ist.
Beispiele
>Erstellen benannter Marker
Das folgende Beispiel zeigt, wie PerformanceMark-Einträge erstellt werden und anschließend nicht Teil der Performance-Zeitleiste des Browsers sind.
new PerformanceMark("squirrel");
new PerformanceMark("monkey");
new PerformanceMark("dog");
const allEntries = performance.getEntriesByType("mark");
console.log(allEntries.length);
// 0
DevTools Extensibility API
Für Browser, die die Extensibility API unterstützen, können Sie den detail-Parameter verwenden, um weitere Details in einem devtools-Objekt bereitzustellen, das in Performance-Profilen angezeigt wird:
// Marker indicating when the processed image was uploaded
performance.mark("Image Upload", {
detail: {
devtools: {
dataType: "marker",
color: "secondary",
properties: [
["Image Size", "2.5MB"],
["Upload Destination", "Cloud Storage"],
],
tooltipText: "Processed image uploaded",
},
},
});
Spezifikationen
| Specification |
|---|
| User Timing> # dom-performancemark-constructor> |