C贸mo usar Bencher para realizar seguimiento a los Puntos de Referencia


La forma m谩s sencilla de rastrear tus puntos de referencia es el subcomando CLI bencher run. Consulta el resumen del establecimiento de puntos de referencia para una explicaci贸n m谩s detallada. Este es un ejemplo de un subcomando CLI bencher run para rastrear puntos de referencia en una rama de funciones llamada de manera apropiada feature-branch:

bencher run \
--project save-walter-white \
--token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjbGllbnQiLCJleHAiOjE2NzQwNjA3NTAsImlhdCI6MTY3MTQ2ODc1MCwiaXNzIjoiYmVuY2hlci5kZXYiLCJzdWIiOiJzYXVsQGJldHRlcmNhbGxzYXVsLmNvbSIsIm9yZyI6bnVsbH0.CABcvWlPobAHs7wsdR6wX5p0R2jaCd7RmpsnMp5pwEc \
--adapter json \
--if-branch feature-branch \
--else-if-branch main \
--else-branch \
--testbed phoenix \
--err \
"bencher mock"`
  1. El Proyecto ya debe existir. Establezca la bandera --project o la variable de entorno BENCHER_PROJECT al slug o UUID del Proyecto. (ex: --project save-walter-white)
  2. La ficha de API ya debe existir. Establezca la bandera --token o la variable de entorno BENCHER_API_TOKEN a la ficha de API. (ex: --token ...)
  3. Opcional: Establezca la bandera --adapter o la variable de entorno BENCHER_ADAPTER al nombre del adaptador deseado. Si no se establece esto, entonces el Adaptador magic ser谩 utilizado. Consultelos adaptadores del arn茅s de referencia para una visi贸n general completa. (ex: --adapter json)
  4. Existen varias opciones para establecer la rama del proyecto. Consulte la selecci贸n de la rama para una visi贸n general completa.
    1. Utilice la rama actual si ya existe. (ex: --if-branch feature-branch)
    2. Cree una copia de los datos de la rama objetivo si ya existe. (ex: --else-if-branch main)
    3. De lo contrario, cree una nueva rama con el nombre proporcionado a --if-branch, que ser铆a feature-branch. (ex: --else-branch)
  5. Opcional: Establezca la bandera --testbed o la variable de entorno BENCHER_TESTBED al slug o UUID del Testbed. El Testbed ya debe existir. Si no se establece esto, entonces el Testbed localhost predeterminado ser谩 utilizado. (ex: --testbed phoenix)
  6. Establezca el comando para fallar si se genera una Alerta. Para que se genere una Alerta, ya debe existir un Umbral. (ex: --err)
  7. Ejecute sus puntos de referencia y genere un Informe a partir de los resultados. (ex: "bencher mock")

Benchmarking Relativo

El benchmarking relativo realiza una comparaci贸n lado a lado de dos commits. Esto puede ser 煤til cuando se trata con entornos ruidosos de CI/CD, donde el recurso disponible puede variar mucho entre las ejecuciones. Este es un ejemplo de un subcomando CLI bencher run para realizar benchmarking relativo en una rama de features apropiadamente llamada feature-branch:

git checkout feature-branch

export FEATURE_BRANCH=feature-branch-$(git rev-parse --short HEAD)

git checkout main

bencher run \
--if-branch "$FEATURE_BRANCH" \
--else-branch \
--iter 3 \
"bencher mock"

git checkout feature-branch

bencher threshold create \
--metric-kind latency \
--branch "$FEATURE_BRANCH" \
--testbed localhost \
--test t \
--right-side 0.95

bencher run \
--if-branch "$FEATURE_BRANCH" \
--iter 3 \
--fold min \
--err \
"bencher mock"
  1. Haga checkout de la rama de features. (ex: feature-branch)
  2. Crea una variable de entorno que es el nombre de la rama de features concatenado con el ID corto del commit de git. 隆Esto es importante! Garantiza que por cada ejecuci贸n se crea una nueva rama.
  3. Checkout de la rama objetivo. (ex: main)
  4. Ejecute bencher run para la rama objetivo:
    1. La rama dada todav铆a no existir谩. (ex: --if-branch "$FEATURE_BRANCH")
    2. Por lo tanto, se crear谩. (ex: --else-branch)
    3. Ejecute los benchmarks tres veces. (ex: --iter 3)
  5. Haga checkout de la rama de features. (ex: feature-branch)
  6. Cree un Umbral para la rama de features:
    1. El T铆po de M茅trica para los benchmarks es Latencia. (ex: --metric-kind latency)
    2. La Rama es la rama de features con el ID de commit de git adjunto. (ex: --branch "$FEATURE_BRANCH")
    3. El Testbed se est谩 ejecutando localmente. (ex: --testbed localhost)
    4. Hay menos de 30 m茅tricas, use una Prueba de la t de Student. (ex: --test t)
    5. Establezca un l铆mite en el lado derecho del 95.0%, debido a que una Latencia mayor indica una regresi贸n de rendimiento. (ex: --right-side 0.95)
  7. Ejecute bencher run para la rama de features:
    1. La Rama existir谩 ya que fue reci茅n creada. (ex: --if-branch "$FEATURE_BRANCH")
    2. Ejecute las pruebas tres veces. (ex: --iter 3)
    3. Dobla todas las tres M茅tricas en el valor m铆nimo. (ex: --fold min)
    4. Establezca el comando para fallar si se genera una Alerta por el Umbral. (ex: --err)


馃惏 隆Felicidades! 隆Has aprendido c贸mo usar Bencher para realizar seguimiento a los puntos de referencia! 馃帀


A帽adir Bencher a las Acciones de GitHub 鉃

A帽adir Bencher a GitLab CI/CD 鉃

馃 Este documento fue generado autom谩ticamente por OpenAI GPT-4. Puede que no sea exacto y contenga errores. Si encuentra alg煤n error, abra un problema en GitHub.