Identificar trabajos CI en la ruta crítica para reducir la duración de los pipelines

Información general

Esta guía explica cómo identificar los trabajos CI que se encuentran en la ruta crítica para ayudarte a determinar qué trabajos priorizar con el fin de reducir la duración total de tus pipelines CI.

Comprender la ruta crítica en un pipeline CI

La ruta crítica de la ejecución de un pipeline CI es la secuencia más larga de trabajos CI que determina la duración total de esa ejecución de pipeline. Esencialmente, es la ruta en el gráfico de dependencias de trabajos CI que tarda más tiempo en completarse. Para reducir la duración total de una ejecución de pipeline CI, es necesario acortar la duración de los trabajos CI a lo largo de esta ruta crítica.

Trabajos resaltados en la ruta crítica de la ejecución de un pipeline.

Observar la duración del trabajo puede no ser suficiente. Los trabajos CI suelen ejecutarse en paralelo con otros trabajos, lo que significa que la reducción del tiempo de ejecución del pipeline viene determinada por la reducción del tiempo exclusivo del trabajo CI.

El tiempo exclusivo de un trabajo en la ruta crítica representa la cantidad de tiempo que el ejecutor CI dedicó a ejecutar un trabajo específico, excluyendo el tiempo de ejecución de otros trabajos que se ejecutaban en paralelo.

Tiempo exclusivo de trabajos resaltados en la ruta crítica de la ejecución de un pipeline.

Si un trabajo CI job1 está en la ruta crítica con una duración de 100 ms y se ejecuta en paralelo con un trabajo CI job2 que tiene una duración de 80 ms, el tiempo exclusivo de job1 en la ruta crítica es de 20 ms. Esto significa que si se reduce la duración de job1 en más de 20 ms, la duración total del pipeline sólo disminuirá 20 ms.

Proveedores CI compatibles

El filtrado y el cálculo del tiempo exclusivo de los trabajos CI en la ruta crítica está disponible para los siguientes proveedores CI:

Si te interesa la ruta crítica pero tu proveedor CI aún no es compatible, rellena este formulario.

Incluso sin filtrar ni calcular el tiempo exclusivo, puedes resaltar qué trabajos CI se encuentran en la ruta crítica utilizando la vista detallada de ejecución de pipelines de todos los proveedores CI.

Identificar los trabajos CI clave para mejorar tu pipeline CI

Uso de la faceta

Puedes utilizar la faceta @ci.on_critical_path o @ci.critical_path.exclusive_time para identificar qué trabajos CI están en la ruta crítica en tus pipelines CI. Con esas facetas puedes crear dashboards y notebooks personalizados según tus necesidades.

Filtrar con facetas de ruta crítica

Ten en cuenta que estas facetas sólo están disponibles si utilizas ci_level:job en tus consultas.

Uso de la plantilla de dashboard

También puedes importar la plantilla de dashboard CI Visibility - Critical Path:

Dashboard de ruta crítica para CI Visibility

Terminología

ColumnaDescripción
Tiempo exclusivo total en la ruta críticaSuma de todos los tiempos exclusivos del trabajo, que calcula el ahorro potencial de tiempo para los pipelines involucrados.
Tiempo exclusivo medio en la ruta críticaTiempo exclusivo medio de un trabajo específico en la ruta crítica, que mide la reducción potencial de la duración de un pipeline si el trabajo reduce su tiempo exclusivo.
Frecuencia en la ruta críticaMide con qué frecuencia un trabajo se encuentra en la ruta crítica.
Ejemplo

En la imagen anterior, podemos observar que un trabajo CI llamado metrics es un candidato potencial para la mejora, ya que su tiempo exclusivo total es el más alto. El tiempo exclusivo medio es de unos 21 minutos, lo que significa que existe un margen de mejora de hasta 21 minutos para este trabajo CI.

Como sabemos que este trabajo CI está en la ruta crítica el 43,5% del tiempo, podríamos reducir potencialmente la duración media del pipeline en hasta 21 minutos para el 43,5% de las ejecuciones del pipeline.

Trabajo CI como potencial candidato para mejorar el tiempo exclusivo.

Referencias adicionales