Formato de Métrica Bencher (BMF)
Os adaptadores de harness de benchmark integrados convertem a saída do benchmark para o formato JSON do Bencher Metric Format (BMF).
Harnesses de benchmark personalizados devem emitir seus resultados como BMF JSON
e usar o adaptador json
.
Veja como acompanhar benchmarks personalizados para uma visão geral completa.
Exemplo de Formato de Métrica 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 } }}
Neste exemplo, há três Benchmarks:
benchmark_name
Benchmark com dois Measures:- Latência (
latency
) - Taxa de Transferência (
throughput
)
- Latência (
/bin/sh -c ./my_build_script.sh
Benchmark com uma Medida para monitorar o tempo de compilação (build-time
)my_binary
Benchmark com uma Medida para monitorar o tamanho do arquivo (file-size
)
Esquema JSON do Formato Métrico Bencher (BMF)
Este é o esquema JSON para o JSON do Formato Métrico 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
O subcomando CLI bencher mock
é usado para gerar dados JSON de formato de métrica Bencher (BMF) simulados.
--count <COUNT>
O número de simulações de Benchmarks a serem geradas.
--measure <MEASURE>
A Medida a ser usada para cada Benchmark.
Múltiplas Medidas podem ser especificadas usando a opção --measure
várias vezes.
O padrão é a Medida interna latency
.
--pow <POW>
A potência de 10 a ser usada para os Métricas simulados.
O padrão é 1
.
--fail
Falha durante a execução.
--flaky
Falha intermitente durante a execução.
--help
Imprime a mensagem de ajuda.