Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformanceServerTiming: Methode toJSON()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die Methode toJSON() der Schnittstelle PerformanceServerTiming gibt ein JSON-serialisierbares einfaches Objekt zurück, das das PerformanceServerTiming-Objekt repräsentiert.

Die Methode wird automatisch von JSON.stringify() aufgerufen, wenn bei der JSON-Serialisierung ein PerformanceServerTiming-Objekt angetroffen wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-serialisierbares einfaches Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert kopiert.

Beispiele

Direkter Aufruf von toJSON()

Dieses Beispiel ruft ein PerformanceServerTiming-Objekt ab. Ein direkter Aufruf von toJSON() gibt ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.

Für Server-Timing-Metriken muss der Server den Header Server-Timing senden. Zum Beispiel:

http
Server-Timing: cache;desc="Cache Read";dur=23.2

serverTiming-Einträge können in navigation- und resource-Einträgen enthalten sein.

Das folgende Beispiel verwendet einen PerformanceObserver, der über neue navigation- und resource-Performance-Einträge benachrichtigt, sobald diese in der Performance-Zeitleiste des Browsers erfasst werden. Verwenden Sie die Option buffered, um auf Einträge zuzugreifen, die vor der Erstellung des Observers erfasst wurden.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    entry.serverTiming.forEach((serverTiming) => {
      const json = serverTiming.toJSON();
      console.log(json); // A plain object
      console.log(typeof json); // "object"
      console.log(json.name); // Same value as serverTiming.name
    });
  });
});

["navigation", "resource"].forEach((type) =>
  observer.observe({ type, buffered: true }),
);

Serialisierung als JSON-String

Innerhalb der Callback-Funktion aus dem vorherigen Beispiel kann dasselbe Objekt mit JSON.stringify() serialisiert werden. Dabei wird die Methode toJSON() automatisch aufgerufen.

js
console.log(JSON.stringify(serverTiming));

Dadurch würde ein JSON-String wie der folgende ausgegeben (zur besseren Lesbarkeit formatiert):

json
{
  "name": "cache",
  "duration": 23.2,
  "description": "Cache Read"
}

Spezifikationen

Spezifikation
Server Timing
# dom-performanceservertiming-tojson

Browser-Kompatibilität