WebTransport:getStats() 方法
注意: 此功能在 Web 工作线程 中可用。
getStats()
方法是 WebTransport
接口的方法,它异步返回包含 HTTP/3 连接统计信息的 对象
。
语法
getStats()
参数
无。
返回值
一个 Promise
,它解析为包含 HTTP/3 连接统计信息的 对象
。返回的对象可能具有以下属性/统计信息
timestamp
-
一个
DOMHighResTimeStamp
,表示收集统计信息的时间戳
,相对于 1970 年 1 月 1 日 UTC。 bytesSent
-
一个
正整数
,表示在 QUIC 连接上发送的字节数
,包括重传。请注意,此计数不包括 QUIC 使用的协议(如 UDP)或任何其他外部帧的附加数据。 packetsSent
-
一个
正整数
,表示在 QUIC 连接上发送的数据包数
,包括已知已丢失的数据包。 packetsLost
-
一个
正整数
,表示在 QUIC 连接上丢失的数据包数
。此值将随着数据包被声明为丢失而增加,如果数据包随后被接收,则此值将减少。 numOutgoingStreamsCreated
-
一个
正整数
,表示在 QUIC 连接上创建的出站 QUIC 流数
。 numIncomingStreamsCreated
-
一个
正整数
,表示在 QUIC 连接上创建的入站 QUIC 流数
。 bytesReceived
-
一个
正整数
,表示在 QUIC 连接上接收的总字节数
。此计数包括来自流的重复数据,但不包括 QUIC 使用的协议(如 UDP)或任何其他外部帧的附加数据。 packetsReceived
-
一个
正整数
,表示在 QUIC 连接上接收的总数据包数
,包括无法处理的数据包。 smoothedRtt
-
一个
DOMHighResTimeStamp
,包含目前在连接上观察到的平滑的往返时间 (RTT)
,计算为端点 RTT 样本的指数加权移动平均值,在考虑了确认延迟之后。 rttVariation
-
一个
DOMHighResTimeStamp
,包含目前在连接上观察到的往返时间样本的平均变化
。 minRtt
-
一个
DOMHighResTimeStamp
,包含在整个连接中观察到的最小往返时间
。 datagrams
-
一个包含连接上数据报传输统计信息的
对象
。该对象具有以下属性timestamp
-
一个
DOMHighResTimeStamp
,表示收集统计信息的时间戳
,相对于 1970 年 1 月 1 日 UTC。 expiredOutgoing
-
一个
正整数
,表示由于过期
而从发送队列中删除的数据报数量。请注意,数据报在发送队列中过期之前的最大年龄可以在outgoingMaxAge
中找到。 droppedIncoming
-
一个
正整数
,表示丢弃的入站数据报数量
。如果应用程序在新的数据报溢出readable
流 接收队列之前没有读取它们,则入站数据报会被丢弃。 lostOutgoing
-
一个
正整数
,表示已发送但被声明为丢失
的数据报数量。请注意,如果例如在超时时间内没有收到确认,或者首先收到了对后续数据报的确认,则数据报可能会被声明为丢失。
示例
以下示例使用 await
来等待 getStats()
返回的 Promise
。当 Promise 完成时,统计信息对象中 bytesSent
属性的结果将被记录到控制台中。
const stats = await transport.getStats();
console.log(`Bytes send: ${stats.bytesSent}`);
规范
规范 |
---|
WebTransport # dom-webtransport-getstats |
浏览器兼容性
BCD 表仅在浏览器中加载