Como Rastrear Benchmarks Personalizados com o Bencher


Bencher suporta os dispositivos de benchmarking mais populares prontamente, e estamos sempre abertos a sugestões para novos adaptadores. No entanto, podem ocorrer situações em que um dispositivo de benchmarking pronto para uso não atenda às suas necessidades, necessitando a criação de um dispositivo personalizado de benchmarking. Felizmente para você, o Bencher também suporta o uso de um dispositivo de benchmarking personalizado. O jeito mais fácil de integrar seu dispositivo de benchmarking personalizado com o Bencher é produzir Bencher Metric Format (BMF) JSON.

Este é um exemplo de JSON BMF:

{
"benchmark_name": {
"latency": {
"value": 88.0,
"lower_value": 87.42,
"upper_value": 88.88
}
}
}

Neste exemplo, a chave benchmark_name seria o nome de um Benchmark. Nomes de benchmarks podem ser qualquer string não vazia de até 1024 caracteres. O objeto benchmark_name pode conter múltiplos nomes de Medida (Measure), slugs ou UUIDs como chaves. Se o valor especificado for um nome ou slug e a Medida não existir previamente, ela será criada para você. No entanto, se o valor especificado for um UUID, então a Medida já deve existir. Neste exemplo, latency é o slug para a Medida de Latência integrada. Cada Projeto por padrão tem uma Medida de Latência (ou seja, latency) e Throughput (ou seja, throughput), que são medidos em nanosegundo (ns) e operações / segundo (ops/s), respectivamente. O objeto Medida contém uma Métrica com até três valores: value, lower_value e upper_value. Os valores lower_value e upper_value são opcionais.

Neste exemplo, o objeto Medida latency contém os seguintes valores:

  • Um value de 88.0
  • Um lower_value de 87.42
  • Um upper_value de 88.88

Se você tivesse um script localizado em ./run/my/benchmarks.sh que executasse seus benchmarks e imprimisse os resultados na saída padrão como JSON do BMF, então você poderia rastreá-los usando bencher run e o adaptador json com o seguinte comando:

Terminal window
bencher run --adapter json ./run/my/benchmarks.sh

Se os seus resultados fossem armazenados em um arquivo chamado results.json, então você poderia usar a opção --file para especificar o caminho do arquivo. Isso funciona tanto com um comando de benchmark quanto sem um.

Com um comando de benchmark:

Terminal window
bencher run --file results.json --adapter json ./run/my/benchmarks.sh

Sem um comando de benchmark:

Terminal window
./run/my/benchmarks.sh && bencher run --file results.json --adapter json

🐰 Parabéns! Você aprendeu como rastrear benchmarks personalizados! 🎉


Continue: Como Rastrear Benchmarks no CI ➡

🤖 Este documento foi gerado automaticamente pelo OpenAI GPT-4. Pode não ser preciso e pode conter erros. Se você encontrar algum erro, abra um problema no GitHub.


Published: Sun, May 12, 2024 at 7:44:00 AM UTC