Bencher-Metrikformat (BMF)


Integrierte Benchmark-Harness-Adapter wandeln Benchmark-Ergebnisse in das Bencher Metric Format (BMF) JSON um. Benutzerdefinierte Benchmarking-Harnesses sollten ihre Ergebnisse als BMF JSON ausgeben und den json Adapter verwenden. Siehe wie man benutzerdefinierte Benchmarks verfolgt für einen vollständigen Überblick.

Beispiel für 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
}
}
}

In diesem Beispiel gibt es drei Benchmarks:

Bencher-Metrik-Format (BMF) JSON-Schema

Dies ist das JSON-Schema für das Bencher-Metrik-Format (BMF) 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

Der CLI-Unterbefehl bencher mock wird verwendet, um simulierte Bencher Metric Format (BMF) JSON-Daten zu generieren.

--seed <SEED>

Der Seed für den Pseudozufallszahlengenerator. Wenn nicht angegeben, wird ein zufälliger Seed verwendet.

--count <COUNT>

Die Anzahl der zu erzeugenden simulierten Benchmarks.

--measure <MEASURE>

Die Measure, die für jeden Benchmark verwendet werden soll. Mehrere Measures können angegeben werden, indem die Option --measure mehrfach verwendet wird. Standardmäßig ist die eingebaute latency-Measure.

--pow <POW>

Die Zehnerpotenz, die für die simulierten Metriken verwendet werden soll. Standardmäßig ist sie 1.

--fail

Beim Ausführen fehlschlagen.

--flaky

Während der Ausführung gelegentlich fehlschlagen.

--help

Hilfemeldung anzeigen.



Published: Sun, May 12, 2024 at 3:12:00 PM UTC | Last Updated: Sat, November 29, 2025 at 3:12:00 PM UTC