You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何在k6中获取分组执行时长?调用group.duration报错

解决k6分组执行时长获取问题

你的错误根源在于k6的group是一个函数,并非带有duration方法的对象,所以直接调用group.duration()会触发类型错误。下面提供两种可行的解决方案:

方案1:手动计时(简单直接)

利用performance.now()记录分组执行的开始和结束时间,计算时间差:

import http from 'k6/http';

export default function () {
  const groupStart = performance.now();
  group('my-group', function () {
    http.get('https://test.k6.io');
  });
  const groupDuration = performance.now() - groupStart;
  console.log(`my-group 执行时长:${groupDuration}ms`);
}
  • performance.now()返回高精度时间戳,适合计算短任务的执行时长
  • 把计时逻辑放在group函数外部,确保统计的是整个分组的完整执行时间

方案2:自定义Metric统计(适合结果分析)

如果需要在k6最终报告中也能看到分组时长的统计数据,可以使用自定义Gauge指标:

import http from 'k6/http';
import { Gauge } from 'k6/metrics';

// 定义自定义Gauge指标
const groupDurationGauge = new Gauge('group_duration_ms');

export default function () {
  const start = performance.now();
  group('my-group', function () {
    http.get('https://test.k6.io');
  });
  const duration = performance.now() - start;
  // 将时长记录到指标中
  groupDurationGauge.add(duration, { group: 'my-group' });
  console.log(`my-group 执行时长:${duration}ms`);
}

运行脚本后,终端输出的统计结果里会出现group_duration_ms相关指标数据,方便后续分析。

内容的提问来源于stack exchange,提问作者Abhishek Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:20:03