Formato de Métricas Bencher (BMF)
Los adaptadores de bancos de pruebas integrados convierten la salida de las pruebas de rendimiento al formato JSON de Métricas de Bencher (BMF, por sus siglas en inglés).
Los bancos de pruebas personalizados deberían emitir sus resultados como JSON BMF
y usar el adaptador json.
Consulte cómo realizar seguimiento de pruebas de rendimiento personalizadas para obtener una visión general completa.
Ejemplo de formato de métrica de Bencher (BMF) en 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 } }}En este ejemplo, hay tres referencias:
- Referencia
benchmark_namecon dos medidas:- Latencia (
latency) - Rendimiento (
throughput)
- Latencia (
- Referencia
/bin/sh -c ./my_build_script.shcon una medida para monitorear el tiempo de construcción (build-time) - Referencia
my_binarycon una medida para monitorear el tamaño del archivo (file-size)
Orden de precedencia
El orden de precedencia para identificar un Benchmark es el siguiente:
UUID- Kebab case
namecon un sufijo-bencher-ignoreque se elimina para suprimir alertas (longitud máxima1024caracteres) slug(longitud máxima64caracteres)name(longitud máxima1024caracteres)
El orden de precedencia para identificar una Medida es el siguiente:
UUIDslug(longitud máxima64caracteres)name(longitud máxima64caracteres)
Esquema JSON de Bencher Metric Format (BMF)
Este es el esquema JSON para el JSON de Bencher Metric Format (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"] } } } }}Versiones del esquema:
- Más reciente:
https://bencher.dev/bmf.json v0(más reciente):https://bencher.dev/v0/bmf.json
bencher mock
El subcomando de la CLI bencher mock se usa para generar datos JSON simulados en el Bencher Metric Format (BMF).
--seed <SEED>
La semilla para el generador de números pseudoaleatorios. Si no se especifica, se usará una semilla aleatoria.
--count <COUNT>
El número de Benchmarks simulados a generar.
--measure <MEASURE>
La Medida que se usará para cada Benchmark.
Se pueden especificar varias Medidas usando la opción --measure varias veces.
Por defecto se usa la Medida incorporada latency.
--pow <POW>
La potencia de 10 que se usará para las Métricas simuladas.
El valor por defecto es 1.
--fail
Fallar durante la ejecución.
--flaky
Fallar de forma intermitente durante la ejecución.
--help
Imprimir el mensaje de ayuda.