菜单
开源

内置指标

每个 k6 测试都会发出内置指标和自定义指标。每个支持的协议也有其特定的指标。

标准内置指标

无论测试使用何种协议,k6 始终会收集以下指标

指标名称类型描述
checksRate检查成功的速率。
data_receivedCounter接收到的数据量。此示例涵盖了如何跟踪单个 URL 的数据
data_sentCounter发送的数据量。跟踪单个 URL 的数据来跟踪单个 URL 的数据。
dropped_iterationsCounter由于缺少 VU(针对到达率执行器)或时间不足(基于迭代的执行器中 maxDuration 过期)而未启动的迭代次数。有关更多详细信息,请参阅丢弃的迭代
iteration_durationTrend完成一次完整迭代所需的时间,包括在 setupteardown 中花费的时间。要计算特定场景的迭代函数的持续时间,请尝试此变通方法
iterationsCounterVU 执行 JS 脚本(即 default 函数)的总次数。
vusGauge当前活跃的虚拟用户数
vus_maxGauge可能的最大虚拟用户数(VU 资源是预分配的,以避免在扩大负载时影响性能)。

HTTP 特定内置指标

这些指标仅在测试发出 HTTP 请求时生成。

注意

对于所有 http_req_* 指标,时间戳在请求结束时发出。换句话说,时间戳发生在 k6 接收到响应体结束时,或者请求超时时。

指标名称类型描述
http_req_blockedTrend在发起请求之前被阻塞(等待空闲的 TCP 连接槽)的时间。float
http_req_connectingTrend与远程主机建立 TCP 连接所花费的时间。float
http_req_durationTrend请求总时间。它等于 http_req_sending + http_req_waiting + http_req_receiving(即远程服务器处理请求和响应所需的时间,不包括初始 DNS 查找/连接时间)。float
http_req_failedRate根据setResponseCallback的失败请求率。
http_req_receivingTrend从远程主机接收响应数据所花费的时间。float
http_req_sendingTrend向远程主机发送数据所花费的时间。float
http_req_tls_handshakingTrend与远程主机进行 TLS 握手所花费的时间
http_req_waitingTrend等待远程主机响应所花费的时间(也称为“首字节时间”,或“TTFB”)。float
http_reqsCounterk6 生成的 HTTP 请求总数。

浏览器指标

k6 browser 模块根据核心 Web 指标发出自己的指标。

这些核心指标将随着技术的变化而演变,但目前,k6 跟踪以下核心 Web 指标

指标名称描述
browser_web_vital_cls通过量化可见页面内容意外布局偏移的量来衡量网页的视觉稳定性。有关更多信息,请参阅累计布局偏移 (Cumulative Layout Shift)
browser_web_vital_fid通过量化用户首次互动(例如点击按钮)与浏览器响应之间的延迟来衡量网页的响应速度。有关更多信息,请参阅首次输入延迟 (First Input Delay)
browser_web_vital_lcp测量页面上最大内容元素变为可见所需的时间。有关更多信息,请参阅最大内容绘制 (Largest Contentful Paint)

其他 Web 指标

除了核心 Web 指标外,浏览器模块还报告其他 Web 指标

指标名称描述
browser_web_vital_fcp测量浏览器渲染页面上第一个 DOM 元素(无论是文本、图像还是标题)所需的时间。有关更多信息,请参阅首次内容绘制 (First Contentful Paint)
browser_web_vital_inp衡量页面响应速度的实验性指标。有关更多信息,请参阅下一次绘制的互动时间 (Interaction to Next Paint)
browser_web_vital_ttfb测量浏览器请求与服务器响应开始之间的时间。有关更多信息,请参阅首字节时间 (Time to First Byte)

内置 WebSocket 指标

k6 通过experimental或传统 websockets API 与 WebSocket 服务交互时会发出以下指标。

指标名称类型描述
ws_connectingTrendWebSocket 连接请求的总持续时间。
ws_msgs_receivedCounter收到的消息总数
ws_msgs_sentCounter发送的消息总数
ws_pingTrendPing 请求与其 Pong 接收之间的持续时间
ws_session_durationTrendWebSocket 会话的持续时间。连接开始到 VU 执行结束之间的时间。
ws_sessionsCounter启动的 WebSocket 会话总数。

内置 gRPC 指标

k6 通过gRPC API 与服务交互时会发出以下指标。

指标名称类型描述
grpc_req_durationTrend从远程主机接收响应所需的时间
grpc_streamsCounter启动的流总数
grpc_streams_msgs_receivedCounter收到的消息总数
grpc_streams_msgs_sentCounter发送的消息总数

注意

流相关指标(grpc_streams*)仅在 k6 版本 0.49.0 或更高版本中可用,或在使用 k6 版本 0.45.0 中可用的 k6/experimental/grpc 模块时可用。