Format de métrique Bencher (BMF)


Les adaptateurs de harnais de benchmark intégrés convertissent la sortie de benchmark en format JSON de métriques Bencher (BMF). Les harnais de benchmarking personnalisés devraient produire leurs résultats en JSON BMF et utiliser l’adaptateur json. Consultez comment suivre des benchmarks personnalisés pour un aperçu complet.

Exemple de format de métrique Bencher (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
}
}
}

Dans cet exemple, il y a trois Benchmarks:

Schéma JSON du Format Métrique Bencher (BMF)

Voici le schéma JSON pour le schéma JSON du Format Métrique Bencher (BMF) :

{
"$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

La sous-commande CLI bencher mock est utilisée pour générer des données JSON factices au format Bencher Metric Format (BMF).

--seed <SEED>

La graine pour le générateur de nombres pseudorandomiques. Si elle n’est pas spécifiée, une graine aléatoire sera utilisée.

--count <COUNT>

Le nombre de Benchmarks factices à générer.

--measure <MEASURE>

La Mesure à utiliser pour chaque Benchmark. Plusieurs Mesures peuvent être spécifiées en utilisant l’option --measure plusieurs fois. Par défaut, c’est la Mesure intégrée latency.

--pow <POW>

La puissance de 10 à utiliser pour les métriques factices. Par défaut, c’est 1.

--fail

Échouer pendant l’exécution.

--flaky

Échouer de façon intermittente pendant l’exécution.

--help

Afficher le message d’aide.



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