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:

Orden de precedencia

El orden de precedencia para identificar un Benchmark es el siguiente:

  1. UUID
  2. Kebab case name con un sufijo -bencher-ignore que se elimina para suprimir alertas (longitud máxima 1024 caracteres)
  3. slug (longitud máxima 64 caracteres)
  4. name (longitud máxima 1024 caracteres)

El orden de precedencia para identificar una Medida es el siguiente:

  1. UUID
  2. slug (longitud máxima 64 caracteres)
  3. name (longitud máxima 64 caracteres)

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:


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.



Published: Sun, May 12, 2024 at 3:12:00 PM UTC | Last Updated: Fri, January 30, 2026 at 3:12:00 PM UTC