是的,它可以,并且您在结果呈现方面有 3 个选项(在某种程度上都涉及使用自定义指标):
- 打印到标准输出的测试摘要结束。
- 您将结果数据输出到InfluxDB+Grafana。
- 您将结果数据输出到Load Impact Insights。
您使用上述所有三个获得的全局统计信息,以及您使用 2) 和 3) 开箱即用的每个 API 端点统计信息,但是要在流级别获取统计信息,您需要创建适用于上述所有三个选项的自定义指标. 所以是这样的:
import http from "k6/http";
import { Trend, Rate } from "k6/metrics";
import { group, sleep } from "k6";
export let options = {
stages: [
{ target: 10, duration: "30s" }
]
};
var flow1RespTime = new Trend("flow_1_resp_time");
var flow1TPS = new Rate("flow_1_tps");
var flow1FailureRate = new Rate("flow_1_failure_rate");
export default function() {
group("Flow 1", function() {
let res = http.get("https://test.loadimpact.com/");
flow1RespTime.add(res.timings.duration);
flow1TPS.add(1);
flow1FailureRate.add(res.status == 0 || res.status > 399);
});
sleep(3);
};
这将扩展打印到标准输出的测试摘要统计信息的结尾以包含自定义指标:
