The getStats()
method of the WebTransport
interface asynchronously returns an object containing HTTP/3 connection statistics.
A Promise
that resolves to a object containing HTTP/3 connection statistics. The returned object may have the following properties/statistics:
timestamp
-
A DOMHighResTimeStamp
indicating the timestamp at which the statistics were gathered, relative to Jan 1, 1970, UTC.
bytesSent
-
A positive integer indicating the number of bytes sent on the QUIC connection, including retransmissions. Note that this count does not include additional data from protocols used by QUIC, such as UDP, or any other outer framing.
packetsSent
-
A positive integer indicating the number of packets sent on the QUIC connection, including those that are known to have been lost.
packetsLost
-
A positive integer indicating the number of packets lost on the QUIC connection. This value will increase as packets are declared lost, and decrease if they are subsequently received.
numOutgoingStreamsCreated
-
A positive integer indicating the number of outgoing QUIC streams created on the QUIC connection.
numIncomingStreamsCreated
-
A positive integer indicating the number of incoming QUIC streams created on the QUIC connection.
bytesReceived
-
A positive integer indicating the total number of bytes received on the QUIC connection. This count includes duplicate data from streams, but does not include additional data for protocols used by QUIC, such as UDP, or any other outer framing.
packetsReceived
-
A positive integer indicating the total number of packets received on the QUIC connection, including packets that were not processable.
smoothedRtt
-
A DOMHighResTimeStamp
containing the smoothed round-trip time (RTT) currently observed on the connection, calculated as an exponentially weighted moving average of an endpoint's RTT samples after taking account of acknowledgement delays.
rttVariation
-
A DOMHighResTimeStamp
containing the mean variation in round-trip time samples currently observed on the connection.
minRtt
-
A DOMHighResTimeStamp
containing the minimum round-trip time observed on the entire connection.
datagrams
-
An object containing statistics for datagram transmission over the connection. The object has the following properties:
timestamp
-
A DOMHighResTimeStamp
indicating the timestamp at which the statistics were gathered, relative to Jan 1, 1970, UTC.
expiredOutgoing
-
A positive integer indicating the number of datagrams that were dropped from the queue for sending because they expired. Note that the maximum age before a datagram in the send-queue expires can be found in outgoingMaxAge
.
droppedIncoming
-
A positive integer indicating the number incoming datagrams that were dropped. Incoming datagrams are dropped if the application does not read them before new datagrams overflow the readable
stream receive queue.
lostOutgoing
-
A positive integer indicating the number of sent datagrams that were declared lost. Note that a datagram may be declared lost if, for example, no acknowledgement arrived within a timeout, or an acknowledgement for a later datagram was received first.
The example below uses await
to wait on the Promise
returned by getStats()
. When the promise fulfills, the result for the bytesSent
property in the stats object is logged to the console.
const stats = await transport.getStats();
console.log(`Bytes send: ${stats.bytesSent}`);