Umbrales & Alertas


Los umbrales son la manera en que detectas las regresiones de rendimiento en Bencher. Un umbral se asigna a una combinaci贸n 煤nica de: Rama, Banco de pruebas y Medida. Un umbral debe tener un l铆mite inferior, un l铆mite superior, o ambos. Cada l铆mite se utiliza para calcular un l铆mite de contorno. Luego, cada nueva m茅trica se verifica en comparaci贸n a cada l铆mite de contorno.

  • L铆mite inferior
    • Un l铆mite inferior se usa cuando un valor m谩s peque帽o indicar铆a una regresi贸n de rendimiento, como con la medida de rendimiento.
  • L铆mite superior
    • Un l铆mite superior se utiliza cuando un valor m谩s grande indicar铆a una regresi贸n del rendimiento, como con la Medida de Retardo.

Existen varios tipos de umbrales:

Alertas

Las alertas se generan cuando una nueva m茅trica est谩 por debajo del l铆mite inferior de un umbral o por encima del l铆mite superior de un umbral. Para hacer fallar una construcci贸n de CI en el evento de una alerta, coloca la bandera --err al usar el subcomando CLI de bencher run.

Supresi贸n de Alertas

A veces puede ser 煤til suprimir Alertas para un Benchmark espec铆fico. La mejor manera de hacer esto es agregando uno de estos sufijos especiales al nombre de ese Benchmark:

  • _bencher_ignore
  • BencherIgnore
  • -bencher-ignore

Por ejemplo, si tu Benchmark se llamaba my_flaky_benchmark, entonces renombr谩ndolo a my_flaky_benchmark_bencher_ignore ignorar铆a solamente ese Benchmark espec铆fico en adelante. Los Benchmarks ignorados no se verifican con el Umbral, incluso si existe uno. Sin embargo, las m茅tricas para los Benchmarks ignorados a煤n se almacenan. Continuando con nuestro ejemplo, los resultados de my_flaky_benchmark_bencher_ignore a煤n se almacenar铆an en la base de datos bajo my_flaky_benchmark. Si eliminas el sufijo y vuelves al nombre original del Benchmark, entonces las cosas continuar谩n justo donde lo dejaste.

Umbrales Est谩ticos

Un Umbral Est谩tico es el umbral m谩s sencillo. Si una nueva M茅trica est谩 por debajo de un L铆mite Inferior establecido o por encima de un L铆mite Superior establecido, se genera una Alerta. Es decir, el L铆mite Inferior/Superior es un L铆mite expl铆cito Inferior/Superior. Debe establecerse un L铆mite Inferior, un L铆mite Superior, o ambos. Los Umbrales Est谩ticos funcionan mejor cuando el valor de la M茅trica debe permanecer dentro de un rango constante, como conteos de instrucciones.

  • L铆mite Inferior de Umbral Est谩tico

    • Un L铆mite Inferior de Umbral Est谩tico puede ser cualquier n煤mero de punto flotante. Se utiliza cuando un valor m谩s peque帽o indicar铆a una regresi贸n de rendimiento. El L铆mite Inferior debe ser menor o igual al L铆mite Superior, si ambos se especifican.
    • Por ejemplo, si tuvieras un Umbral Est谩tico con un L铆mite Inferior establecido en 100 el L铆mite del Umbral Inferior tambi茅n ser铆a 100 y cualquier valor menor que 100 generar铆a una Alerta.
  • L铆mite Superior de Umbral Est谩tico

    • Un L铆mite Superior de Umbral Est谩tico puede ser cualquier n煤mero de punto flotante. Se utiliza cuando un valor m谩s grande indicar铆a una regresi贸n de rendimiento. El L铆mite Superior debe ser mayor o igual que el L铆mite Inferior, si ambos se especifican.
    • Por ejemplo, si tuvieras un Umbral Est谩tico con un L铆mite Superior establecido en 100 el L铆mite del Umbral Superior tambi茅n ser铆a 100 y cualquier valor mayor que 100 generar铆a una Alerta.

Umbrales Estad铆sticos

Todos los dem谩s umbrales son Umbrales Estad铆sticos. Cada Umbral Estad铆stico utiliza m茅tricas hist贸ricas y una prueba de significaci贸n estad铆stica 煤nica para determinar si se genera una Alerta. Por lo tanto, el L铆mite Inferior/Superior significar谩 cosas diferentes para diferentes Umbrales Estad铆sticos. Adem谩s de establecer un L铆mite Inferior y/o Superior, hay controles para qu茅 M茅tricas hist贸ricas se utilizan (es decir, muestreadas).

  • Tama帽o de Muestra M铆nimo

    • Se puede establecer un Tama帽o de Muestra M铆nimo para un Umbral Estad铆stico. El Umbral Estad铆stico solo ejecutar谩 su prueba de significaci贸n estad铆stica si el n煤mero de M茅tricas hist贸ricas es mayor o igual al Tama帽o de Muestra M铆nimo. El Tama帽o de Muestra M铆nimo debe ser menor o igual al Tama帽o de Muestra M谩ximo, si ambos se especifican.
  • Tama帽o de Muestra M谩ximo

    • Se puede establecer un Tama帽o de Muestra M谩ximo para un Umbral Estad铆stico. El Umbral Estad铆stico se limitar谩 a s贸lo las M茅tricas hist贸ricas m谩s recientes limitadas al Tama帽o de Muestra M谩ximo para su prueba de significaci贸n estad铆stica. El Tama帽o de Muestra M谩ximo debe ser mayor o igual al Tama帽o de Muestra M铆nimo, si ambos se especifican.
  • Tama帽o de la Ventana

    • Se puede establecer un Tama帽o de Ventana en segundos para un Umbral Estad铆stico. El Umbral Estad铆stico se limitar谩 a s贸lo las M茅tricas hist贸ricas m谩s recientes limitadas por la ventana de tiempo dada para su prueba de significaci贸n estad铆stica.

Umbrales Porcentuales

Un Umbral Porcentual es el Umbral Estad铆stico m谩s simple. Si una nueva M茅trica est谩 por debajo de un cierto porcentaje de la media (L铆mite Inferior) o por encima de un cierto porcentaje de la media (L铆mite Superior) de tus M茅tricas hist贸ricas, se genera una Alerta. Debe establecerse un L铆mite Inferior, un L铆mite Superior, o ambos. Los Umbrales Porcentuales son m谩s eficaces cuando el valor de la M茅trica deber铆a permanecer dentro de un rango conocido y adecuado.

  • L铆mite Inferior del Umbral Porcentual

    • Un L铆mite Inferior del Umbral Porcentual puede ser cualquier porcentaje mayor o igual a cero en forma decimal (por ejemplo: se utiliza 0.10 para 10%). Se usa cuando un valor m谩s peque帽o indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si tuvieras un Umbral Porcentual con un L铆mite Inferior establecido en 0.10 y tus M茅tricas hist贸ricas ten铆an una media de 100, el L铆mite de Frontera Inferior ser铆a 90 y cualquier valor menor a 90 generar铆a una Alerta.
  • L铆mite Superior del Umbral Porcentual

    • Un L铆mite Superior del Umbral Porcentual puede ser cualquier porcentaje mayor o igual a cero en forma decimal (por ejemplo: se utiliza 0.10 para 10%). Se usa cuando un valor mayor indicar铆a una regresi贸n en el rendimiento.
    • Por ejemplo, si tuvieras un Umbral Porcentual con un L铆mite Superior establecido en 0.10 y tus M茅tricas hist贸ricas ten铆an una media de 100, el L铆mite de Frontera Superior ser铆a 110 y cualquier valor mayor a 110 generar铆a una Alerta.
The Normal Distribution https://commons.wikimedia.org/wiki/File:The_Normal_Distribution.svg

Umbrales de z-score

Un umbral de z-score mide la cantidad de desviaciones est谩ndar (蟽) que una nueva m茅trica dista de la media de sus m茅tricas hist贸ricas utilizando una puntuaci贸n z.

Los umbrales de z-score funcionan mejor cuando:

  • No hay diferencias extremas entre las ejecuciones de referencia
  • Las ejecuciones de referencia son totalmente independientes entre s铆
  • El n煤mero de iteraciones para una 煤nica ejecuci贸n de referencia es menos del 10% de las m茅tricas hist贸ricas
  • Hay al menos 30 m茅tricas hist贸ricas (Tama帽o de muestra m铆nimo >= 30)

Para los umbrales de z-score, las desviaciones est谩ndar se expresan como un porcentaje acumulativo decimal. Si una nueva m茅trica se encuentra por debajo de un cierto porcentaje acumulativo del lado izquierdo (L铆mite Inferior) o por encima de un cierto porcentaje acumulativo del lado derecho (L铆mite Superior) de tus m茅tricas hist贸ricas, se genera una alerta. Se debe establecer un L铆mite Inferior, un L铆mite Superior, o ambos.

  • L铆mite inferior del umbral de z-score

    • Un L铆mite Inferior del umbral de z-score puede ser cualquier decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la media y 1.0 representa todos los posibles valores del lado izquierdo (-鈭). Se utiliza cuando un valor menor indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si utilizaste un umbral de z-score con un L铆mite Inferior de 0.977 y tus m茅tricas hist贸ricas tuvieron una media de 100 y una desviaci贸n est谩ndar de 10, el L铆mite Inferior ser铆a 80.05 y cualquier valor menor a 80.05 generar铆a una alerta.
  • L铆mite superior del umbral de z-score

    • Un L铆mite Superior del umbral de z-score puede ser cualquier decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la media y 1.0 representa todos los posibles valores del lado derecho (鈭). Se utiliza cuando un valor mayor indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si utilizaste un umbral de z-score con un L铆mite Superior de 0.977 y tus m茅tricas hist贸ricas tuvieron una media de 100 y una desviaci贸n est谩ndar de 10, el L铆mite Superior ser铆a 119.95 y cualquier valor mayor a 119.95 generar铆a una alerta.

Umbrales de prueba t

Un umbral de prueba t mide el intervalo de confianza (IC) de cu谩n probable es que una nueva M茅trica est茅 por encima o por debajo de la media de tus M茅tricas hist贸ricas utilizando una prueba t de Student.

Los umbrales de prueba t funcionan mejor cuando:

  • No hay diferencias extremas entre las ejecuciones de referencia
  • Las ejecuciones de referencia son totalmente independientes entre s铆
  • El n煤mero de iteraciones para una 煤nica ejecuci贸n de referencia es menos del 10% de las M茅tricas hist贸ricas

Para los umbrales de prueba t, los intervalos de confianza se expresan como un porcentaje de confianza decimal. Si una nueva M茅trica est谩 por debajo de un cierto porcentaje de confianza del lado izquierdo (Margen inferior) o por encima de un cierto porcentaje de confianza del lado derecho (Margen superior) para tus M茅tricas hist贸ricas, se generar谩 una Alerta. Debe establecerse un Margen inferior, un Margen superior, o ambos.

  • Margen inferior de umbral de prueba t

    • Un Margen inferior de umbral de prueba t puede ser cualquier n煤mero decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la media y 1.0 representa todos los valores posibles del lado izquierdo (-鈭). Se utiliza cuando un valor menor indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si usaste un umbral de prueba t con un Margen inferior de 0.977 y ten铆as 25 M茅tricas hist贸ricas con una media de 100 y una desviaci贸n est谩ndar de 10, el L铆mite del Margen inferior ser铆a 78.96 y cualquier valor menor a 78.96 generar铆a una Alerta.
  • Margen superior de umbral de prueba t

    • Un Margen superior de umbral de prueba t puede ser cualquier n煤mero decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la media y 1.0 representa todos los valores posibles del lado derecho (鈭). Se utiliza cuando un valor mayor indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si usaste un umbral de prueba t con un Margen superior de 0.977 y ten铆as 25 M茅tricas hist贸ricas con una media de 100 y una desviaci贸n est谩ndar de 10, el L铆mite del Margen superior ser铆a 121.04 y cualquier valor mayor a 121.04 generar铆a una Alerta.
The Log Normal Distribution https://mathworld.wolfram.com/images/eps-svg/LogNormalDistribution_800.svg

Umbrales Log Normales

Un Umbral Log Normal mide cu谩n probable es que una nueva M茅trica est茅 por encima o por debajo del centro de ubicaci贸n de tus M茅tricas hist贸ricas utilizando una Distribuci贸n Log Normal.

Los Umbrales Log Normales funcionan mejor cuando:

  • Las ejecuciones de referencia son totalmente independientes una de otra
  • El n煤mero de iteraciones para una 煤nica ejecuci贸n de referencia es menos del 10% de las M茅tricas hist贸ricas
  • Todos los datos son positivos (el logaritmo natural de un n煤mero negativo es indefinido)

Para los Umbrales Log Normales, la probabilidad se expresa como un porcentaje decimal. Si una nueva M茅trica est谩 por debajo de un cierto porcentaje del lado izquierdo (L铆mite Inferior) o por encima de un cierto porcentaje del lado derecho (L铆mite Superior) de tus M茅tricas hist贸ricas se genera una Alerta. Se debe establecer un L铆mite Inferior, un L铆mite Superior, o ambos.

  • L铆mite Inferior del Umbral Log Normal

    • Un L铆mite Inferior del Umbral Log Normal puede ser cualquier decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la ubicaci贸n central y 1.0 representa todos los posibles valores del lado izquierdo (-鈭). Se utiliza cuando un valor menor indicar铆a una regresi贸n en el rendimiento.
    • Por ejemplo, si utilizaste un Umbral Log Normal con un L铆mite Inferior de 0.977 y tuviste 25 M茅tricas hist贸ricas centradas alrededor de 100 y un valor at铆pico anterior en 200, el L铆mite del L铆mite Inferior ser铆a 71.20 y cualquier valor menor que 71.20 generar铆a una Alerta.
  • L铆mite Superior del Umbral Log Normal

    • Un L铆mite Superior del Umbral Log Normal puede ser cualquier decimal positivo entre 0.5 y 1.0. Donde 0.5 representa la ubicaci贸n central y 1.0 representa todos los posibles valores del lado derecho (鈭). Se utiliza cuando un valor mayor indicar铆a una regresi贸n en el rendimiento.
    • Por ejemplo, si utilizaste un Umbral Log Normal con un L铆mite Superior de 0.977 y tuviste 25 M茅tricas hist贸ricas centradas alrededor de 100 y un valor at铆pico anterior en 200, el L铆mite del L铆mite Superior ser铆a 134.18 y cualquier valor mayor que 134.18 generar铆a una Alerta.
Interquartile Range https://access.openupresources.org/curricula/our6-8math/embeds/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbTRmIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--941ca9b24415706ee262cc85b237c99ba4ca015b/6.8.19.Images.student.summary.03_en.svg

Umbrales del Rango Intercuartil

Un umbral del Rango Intercuartil mide cu谩ntos m煤ltiplos del rango intercuartil (IQR) una nueva M茅trica est谩 por encima o por debajo de la mediana de tus M茅tricas hist贸ricas. Si una nueva M茅trica se encuentra por debajo de un cierto m煤ltiplo del IQR desde la mediana (L铆mite Inferior) o por encima de un cierto m煤ltiplo del IQR desde la mediana (L铆mite Superior) de tus M茅tricas hist贸ricas, se genera una Alerta. Debe establecerse un L铆mite Inferior, un L铆mite Superior, o ambos.

  • L铆mite Inferior del umbral del Rango Intercuartil

    • Un L铆mite Inferior del umbral del Rango Intercuartil puede ser cualquier multiplicador mayor o igual a cero (ej: use 2.0 para 2x). Se utiliza cuando un valor menor indicar铆a una regresi贸n del rendimiento.
    • Por ejemplo, si tuvieras un umbral de Rango Intercuartil con un L铆mite Inferior establecido en 2.0 y tus M茅tricas hist贸ricas ten铆an una mediana de 100 y un rango intercuartil de 10 el L铆mite Inferior ser铆a 80 y cualquier valor menos que 80 generar铆a una Alerta.
  • L铆mite Superior del umbral del Rango Intercuartil

    • Un L铆mite Superior del umbral del Rango Intercuartil puede ser cualquier multiplicador mayor o igual a cero (ej: use 2.0 para 2x). Se utiliza cuando un valor mayor indicar铆a una regresi贸n del rendimiento.
    • Por ejemplo, si tuvieras un umbral de Rango Intercuartil con un L铆mite Superior establecido en 2.0 y tus M茅tricas hist贸ricas ten铆an una mediana de 100 y un rango intercuartil de 10 el L铆mite Superior ser铆a 120 y cualquier valor mayor que 120 generar铆a una Alerta.

Umbrales de Rango Interquart铆lico Delta

Un umbral de Rango Interquart铆lico Delta mide cu谩ntas veces el cambio porcentual promedio (螖) rango interquart铆lico (IQR) una nueva M茅trica est谩 por encima o por debajo de la mediana de tus M茅tricas hist贸ricas. Si una nueva M茅trica est谩 por debajo de un cierto m煤ltiplo del 螖IQR desde la mediana (L铆mite Inferior) o por encima de un cierto m煤ltiplo del 螖IQR desde la mediana (L铆mite Superior) de tus M茅tricas hist贸ricas, se genera una Alerta. Debe establecerse un L铆mite Inferior, un L铆mite Superior, o ambos.

  • L铆mite Inferior del umbral de Rango Interquart铆lico Delta

    • Un L铆mite Inferior del umbral de Rango Interquart铆lico Delta puede ser cualquier multiplicador mayor o igual a cero (por ejemplo, usar 2.0 para 2x). Se usa cuando un valor m谩s peque帽o indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si tuvieras un umbral de Rango Interquart铆lico Delta con un L铆mite Inferior establecido en 2.0 y tus M茅tricas hist贸ricas tuvieran una mediana de 100, un rango interquart铆lico de 10, y un rango interquart铆lico delta promedio de 0.2 (20%) el L铆mite del L铆mite Inferior ser铆a 60 y cualquier valor menor que 60 generar铆a una Alerta.
  • L铆mite Superior del umbral de Rango Interquart铆lico Delta

    • Un L铆mite Superior del umbral de Rango Interquart铆lico Delta puede ser cualquier multiplicador mayor o igual a cero (por ejemplo, usar 2.0 para 2x). Se usa cuando un valor mayor indicar铆a una regresi贸n de rendimiento.
    • Por ejemplo, si tuvieras un umbral de Rango Interquart铆lico Delta con un L铆mite Superior establecido en 2.0 y tus M茅tricas hist贸ricas tuvieran una mediana de 100, un rango interquart铆lico de 10, y un rango interquart铆lico delta promedio de 0.2 (20%) el L铆mite del L铆mite Superior ser铆a 140 y cualquier valor mayor que 140 generar铆a una Alerta.


馃惏 隆Felicidades! 隆Has aprendido todo sobre Umbrales & Alertas! 馃帀


Sigue Adelante: Benchmarking Continuo 鉃

馃 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.