基准测试指标格式(BMF)


内置的基准测试适配器会将基准测试的输出转换为 Bencher Metric Format (BMF) JSON 格式。 自定义基准测试工具应输出其结果为 BMF JSON 格式, 并使用json 适配器。 查看如何跟踪自定义基准测试以获得完整概述。

示例 Bencher Metric Format (BMF) JSON

{
"benchmark_name": {
"latency": {
"value": 88.0,
"lower_value": 87.42,
"upper_value": 88.88
},
"throughput" {
"value": 5.55,
"lower_value": 3.14,
"upper_value": 6.30
}
},
"/bin/sh -c ./my_build_script.sh": {
"build-time": {
"value": 87.0
}
},
"my_binary": {
"file-size": {
"value": 42.0
}
}
}

在这个示例中,有三个基准测试

  • benchmark_name 基准测试,包含两个测量
    • 延迟 (latency)
    • 吞吐量 (throughput)
  • /bin/sh -c ./my_build_script.sh 基准测试,包含一个测量用于跟踪构建时间 (build-time)
  • my_binary 基准测试,包含一个测量用于跟踪文件大小 (file-size)

Bencher 指标格式 (BMF) JSON 架构

这是 Bencher 指标格式 (BMF) JSON 的 JSON 架构

{
"$id": "https://bencher.dev/bmf.json",
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"patternProperties": {
".+": {
"type": "object",
"patternProperties": {
".+": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"lower_value": {
"type": "number"
},
"upper_value": {
"type": "number"
}
},
"required": ["value"]
}
}
}
}
}

bencher mock

bencher mock CLI 子命令用于生成模拟的 Bencher Metric Format (BMF) JSON 数据。

--count <COUNT>

生成的模拟基准测试的数量。

--measure <MEASURE>

用于每个基准测试度量。可以多次使用 --measure 选项来指定多个度量。默认使用内置的 latency 度量。

--pow <POW>

用于模拟指标的10的幂。默认值是 1

--fail

运行时失败。

--flaky

运行时间歇性失败。

--help

打印帮助信息。



Published: Sun, May 12, 2024 at 3:12:00 PM UTC