WebTransport:getStats() 方法

实验性: 这是 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

安全上下文: 此功能仅在 安全上下文(HTTPS)中可用,在某些或所有 支持的浏览器 中。

注意: 此功能在 Web 工作线程 中可用。

getStats() 方法是 WebTransport 接口的方法,它异步返回包含 HTTP/3 连接统计信息的 对象

语法

js
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 属性的结果将被记录到控制台中。

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

规范

规范
WebTransport
# dom-webtransport-getstats

浏览器兼容性

BCD 表仅在浏览器中加载