ベンチャーメトリックフォーマット (BMF)


内蔵されたベンチマークハーネスアダプターは、ベンチマークの出力をBencher Metric Format (BMF) JSONに変換します。 カスタムベンチマーキングハーネスは、その結果をBMF JSONとして出力し、jsonアダプターを使用すべきです。 完全な概要については、カスタムベンチマークの追跡方法をご覧ください。

ベンチャーメトリックフォーマット (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
}
}
}

この例では、3つのベンチマークがあります:

  • benchmark_name というベンチマークは、2つのメジャーがあります:
    • レイテンシー (latency)
    • スループット (throughput)
  • /bin/sh -c ./my_build_script.sh というベンチマークは、1つのメジャーでビルド時間を追跡(build-time)
  • my_binary というベンチマークは、1つのメジャーでファイルサイズを追跡(file-size)

Bencher Metric Format (BMF) JSON スキーマ

これは Bencher Metric Format (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