Descripción General de Benchmarking
La mayoría de los resultados de las pruebas de rendimiento son efímeros. Desaparecen tan pronto como tu terminal alcanza su límite de retroceso. Algunos marcos de pruebas de rendimiento te permiten almacenar resultados en caché, pero la mayoría solo lo hace localmente. Bencher te permite rastrear tus pruebas tanto de ejecuciones locales como de CI y comparar con resultados históricos.
La forma más fácil de rastrear tus pruebas es con el subcomando CLI bencher run
.
Envuelve la salida de tu marco de pruebas de rendimiento existente y genera un Reporte.
Este Reporte se envía al servidor API de Bencher,
donde la salida del marco de pruebas de rendimiento se analiza utilizando un adaptador del marco de pruebas de rendimiento.
El adaptador del marco de pruebas de rendimiento detecta todos los Benchmarks que están presentes y sus Métricas correspondientes.
Estos Benchmarks y Métricas se guardan junto con el Reporte.
Si hay un Umbral establecido,
las nuevas Métricas se comparan con las Métricas históricas para cada Benchmark presente en el Reporte.
Si se detecta una regresión, se generará una Alerta.
De aquí en adelante nos referiremos a tus “benchmarks” como “pruebas de regresión de rendimiento” para evitar cualquier confusión.
Benchmark
Un Benchmark es una prueba de regresión de rendimiento nombrada. Si la prueba de regresión de rendimiento es nueva para Bencher, entonces un Benchmark se crea automáticamente. De lo contrario, el nombre de la prueba de regresión de rendimiento se utiliza como el identificador único para el Benchmark.
Tenga cuidado al cambiar el nombre de sus pruebas de regresión de rendimiento. Necesitará renombrar manualmente el Benchmark en Bencher para que coincida con este nuevo nombre. De lo contrario, la prueba de regresión de rendimiento renombrada se considerará como un nuevo Benchmark. Esta misma advertencia también se aplica al mover algunas pruebas de regresión de rendimiento. Dependiendo del arnés de benchmark, la ruta a la prueba de regresión de rendimiento puede ser parte de su nombre.
La única excepción al aviso anterior es ignorar un Benchmark. Consulte suprimir alertas para una visión completa.
Métrica
Una Métrica es un resultado único de prueba de regresión de rendimiento en un punto en el tiempo. Se pueden recopilar hasta tres Valores para una sola Métrica: value
, lower_value
y upper_value
. El value
es obligatorio para todas las Métricas, mientras que el lower_value
y el upper_value
son opcionales de manera independiente. Los Valores que se recopilan se determinan por el adaptador de marco de referencia de benchmark.
Medida
Una Medida es la unidad de medida para una Métrica.
Por defecto, todos los Proyectos comienzan con una Medida de Latencia
y Rendimiento
con unidades de nanosegundos (ns)
y operaciones / segundo (ops/s)
respectivamente.
La Medida está determinada por el adaptador del marco de referencia de evaluación.
Reporte
Un Reporte es una colección de Benchmarks y sus Métricas para una Rama y Banco de Pruebas particulares.
Los Reportes se generan con mayor frecuencia utilizando el subcomando de la CLI bencher run
.
Consulta cómo seguir las pruebas de regresión de rendimiento para una visión completa.
Rama
Una Rama es la referencia de git
utilizada al ejecutar un Reporte (es decir, el nombre de la rama o la etiqueta).
Por defecto, todos los Proyectos comienzan con una Rama main
.
Al usar el subcomando de CLI bencher run
,
main
es la Rama predeterminada si no se proporciona una.
Consulta selección de ramas para obtener una visión completa.
Head
La Cabeza de una Rama es la instancia más reciente de la Rama. Hace referencia al Punto de Inicio más reciente, si existe alguno. Cada vez que una Rama obtiene un nuevo Punto de Inicio, adquiere una nueva Cabeza. Consulta selección de rama para una visión completa.
Punto de Inicio
Una Rama puede tener un Punto de Inicio. Un Punto de Inicio es otra Rama en una versión específica (y git
hash, si está disponible). Las Métricas Históricas y, opcionalmente, los Umbrales se copian desde el Punto de Inicio. Consulta selección de ramas para obtener una visión completa.
Testbed
Un Testbed es el nombre del entorno de pruebas utilizado al ejecutar un Reporte. Por defecto, todos los Proyectos comienzan con un Testbed localhost
. Al usar el subcomando de CLI bencher run
, localhost
es el Testbed predeterminado si no se proporciona uno.
Umbral
Un Umbral se utiliza para detectar regresiones de rendimiento. Un Umbral se asigna a una combinación única de: Rama, Banco de pruebas y Medida. Consulta umbrales para una visión completa.
Test
Una prueba es utilizada por un umbral para detectar regresiones de rendimiento. La combinación de una prueba y sus parámetros se llama un modelo. Consulta umbrales para obtener una visión completa.
Modelo
Un Modelo es la combinación de una Prueba y sus parámetros para un Umbral. Un Modelo debe tener un Límite Inferior, un Límite Superior, o ambos.
- Límite Inferior
- Se utiliza un Límite Inferior cuando un valor menor indicaría una regresión de rendimiento, como ocurre con la Medida de
Rendimiento
.
- Se utiliza un Límite Inferior cuando un valor menor indicaría una regresión de rendimiento, como ocurre con la Medida de
- Límite Superior
- Se utiliza un Límite Superior cuando un valor mayor indicaría una regresión de rendimiento, como ocurre con la Medida de
Latencia
.
- Se utiliza un Límite Superior cuando un valor mayor indicaría una regresión de rendimiento, como ocurre con la Medida de
Cada Límite se utiliza para calcular un Límite de Frontera. Luego, cada nueva Métrica se verifica contra cada Límite de Frontera. Se genera una Alerta cuando una nueva Métrica está por debajo de un Límite Inferior de Frontera o por encima de un Límite Superior de Frontera. Vea umbras para una visión completa.
Límite de Frontera
Un Límite de Frontera es el valor calculado a partir de una Frontera Inferior o una Frontera Superior. Se utiliza para comparar con una nueva Métrica. Se genera una Alerta cuando una nueva Métrica está por debajo de un Límite de Frontera Inferior o por encima de un Límite de Frontera Superior. Consulta umbrales para una descripción completa.
Alerta
Se genera una Alerta cuando una nueva Métrica falla una Prueba al estar por debajo de un Límite Inferior o por encima de un Límite Superior. Consulta umbral para una visión general completa.
🐰 ¡Felicitaciones! ¡Has aprendido todo sobre el seguimiento de
benchmarkspruebas de regresión de rendimiento! 🎉