WebTransport: getStats()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

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

Die getStats()-Methode der WebTransport-Schnittstelle gibt asynchron ein Objekt zurück, das HTTP/3-Verbindungsstatistiken enthält.

Syntax

js
getStats()

Parameter

Keine.

Rückgabewert

Ein Promise, das zu einem Objekt aufgelöst wird, das HTTP/3-Verbindungsstatistiken enthält. Das zurückgegebene Objekt kann die folgenden Eigenschaften/Statistiken aufweisen:

timestamp

Ein DOMHighResTimeStamp, der den Zeitpunkt angibt, zu dem die Statistiken gesammelt wurden, relativ zum 1. Januar 1970, UTC.

bytesSent

Eine positive Ganzzahl, die die Anzahl der auf der QUIC-Verbindung gesendeten Bytes angibt, einschließlich der erneuten Übertragungen. Beachten Sie, dass diese Zählung keine zusätzlichen Daten von Protokollen umfasst, die von QUIC verwendet werden, wie z.B. UDP, oder andere äußere Rahmungen.

packetsSent

Eine positive Ganzzahl, die die Anzahl der auf der QUIC-Verbindung gesendeten Pakete angibt, einschließlich derjenigen, von denen bekannt ist, dass sie verloren gegangen sind.

packetsLost

Eine positive Ganzzahl, die die Anzahl der auf der QUIC-Verbindung verlorenen Pakete angibt. Dieser Wert wird steigen, wenn Pakete als verloren erklärt werden, und sinken, wenn sie anschließend empfangen werden.

numOutgoingStreamsCreated

Eine positive Ganzzahl, die die Anzahl der auf der QUIC-Verbindung erstellten ausgehenden QUIC-Streams angibt.

numIncomingStreamsCreated

Eine positive Ganzzahl, die die Anzahl der auf der QUIC-Verbindung erstellten eingehenden QUIC-Streams angibt.

bytesReceived

Eine positive Ganzzahl, die die Gesamtanzahl der auf der QUIC-Verbindung empfangenen Bytes angibt. Diese Zählung umfasst Duplikate von Daten aus Streams, jedoch nicht zusätzliche Daten für von QUIC verwendete Protokolle, wie z.B. UDP, oder andere äußere Rahmungen.

packetsReceived

Eine positive Ganzzahl, die die Gesamtanzahl der auf der QUIC-Verbindung empfangenen Pakete angibt, einschließlich Paketen, die nicht verarbeitet werden konnten.

smoothedRtt

Ein DOMHighResTimeStamp, der die geglättete Round-Trip Time (RTT) enthält, die derzeit auf der Verbindung beobachtet wird. Diese wird als exponentiell gewichteter gleitender Durchschnitt von RTT-Messungen eines Endpunkts berechnet, wobei Verzögerungen bei Bestätigungen berücksichtigt werden.

rttVariation

Ein DOMHighResTimeStamp, der die mittlere Variation der Round-Trip Time-Messungen enthält, die derzeit auf der Verbindung beobachtet werden.

minRtt

Ein DOMHighResTimeStamp, der die minimale Round-Trip Time enthält, die auf der gesamten Verbindung beobachtet wurde.

datagrams

Ein Objekt, das Statistiken für die Datagrammübertragung über die Verbindung enthält. Das Objekt hat die folgenden Eigenschaften:

timestamp

Ein DOMHighResTimeStamp, der den Zeitpunkt angibt, zu dem die Statistiken gesammelt wurden, relativ zum 1. Januar 1970, UTC.

expiredOutgoing

Eine positive Ganzzahl, die die Anzahl der Datagramme angibt, die aus der Warteschlange zum Senden entfernt wurden, weil sie abgelaufen sind. Beachten Sie, dass das maximale Alter, bevor ein Datagramm in der Sendewarteschlange abläuft, in outgoingMaxAge gefunden werden kann.

droppedIncoming

Eine positive Ganzzahl, die die Anzahl der eingehenden Datagramme angibt, die verworfen wurden. Eingehende Datagramme werden verworfen, wenn die Anwendung sie nicht liest, bevor neue Datagramme die Empfangswarteschlange des readable-Streams überladen.

lostOutgoing

Eine positive Ganzzahl, die die Anzahl der gesendeten Datagramme angibt, die als verloren erklärt wurden. Beachten Sie, dass ein Datagramm als verloren erklärt werden kann, wenn z.B. keine Bestätigung innerhalb eines Zeitlimits eingetroffen ist oder eine Bestätigung für ein späteres Datagramm zuerst empfangen wurde.

Beispiele

Das folgende Beispiel verwendet await, um auf das Promise zu warten, das von getStats() zurückgegeben wird. Wenn das Versprechen erfüllt wird, wird das Ergebnis für die Eigenschaft bytesSent im Statistikobjekt in die Konsole protokolliert.

js
const stats = await transport.getStats();
console.log(`Bytes send: ${stats.bytesSent}`);

Spezifikationen

Specification
WebTransport
# dom-webtransport-getstats

Browser-Kompatibilität