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:

Ordre de priorité

L’ordre de priorité pour identifier un Benchmark est le suivant :

  1. UUID
  2. Nom en kebab-case name avec le suffixe -bencher-ignore qui est supprimé pour suppression des alertes (longueur maximale 1024 caractères)
  3. slug (longueur maximale 64 caractères)
  4. name (longueur maximale 1024 caractères)

L’ordre de priorité pour identifier une Mesure est le suivant :

  1. UUID
  2. slug (longueur maximale 64 caractères)
  3. name (longueur maximale 64 caractères)

Schéma JSON de Bencher Metric Format (BMF)

Il s’agit du schéma JSON pour le Bencher Metric Format (BMF) au format 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"]
}
}
}
}
}

Versions du schéma :


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: Fri, January 30, 2026 at 3:12:00 PM UTC