Detecting CI/CD workflow errors through visual inspection of logs
Tesis

Access note
Acceso abierto
Publication date
2024Metadata
Show full item record
Cómo citar
Bergel, Alexandre
Cómo citar
Detecting CI/CD workflow errors through visual inspection of logs
Professor Advisor
Abstract
La creciente adopción de prácticas DevOps en el desarrollo de software ha puesto de manifiesto la necesidad de flujos de trabajo de Integración y Despliegue Continuos (CI/CD) efectivos y confiables. Estos flujos son esenciales para la automatización de la construcción, prueba y despliegue de software, pero también generan un gran volumen de archivos de registro. Estos archivos capturan información detallada de la ejecución, incluyendo cambios, actividades del sistema y errores. A medida que los procesos CI/CD se vuelven más integrales a las prácticas de desarrollo, gestionar e interpretar estos extensos registros es crucial para asegurar operaciones fluidas y una rápida resolución de problemas.
Esta tesis propone la utilización de microprints, visualizaciones que condensan grandes porciones de texto en espacios reducidos, para detectar errores en los flujos de trabajo de CI/CD mediante la inspección visual de sus archivos de registro. Se destacan los desafíos de inspeccionar manualmente los registros, particularmente en la identificación de errores no reportados por las plataformas CI/CD y cuando los registros son extensos. Se hipotetiza que los microprints ayudan al análisis e identificación de errores en escenarios específicos.
Se implementa un conjunto de herramientas para probar la hipótesis. Este conjunto de herramientas incluye un paquete de Python para crear microprints, un sitio web para su visualización, una API para la creación en entornos que no usan Python y una acción de GitHub para integrar la creación de microprints de archivos de registro en los flujos de trabajo de CI/CD existentes.
Se lleva a cabo un estudio con diecisiete participantes para analizar las fortalezas y debilidades de la visualización de microprints en distintos proyectos. El experimento comparó el uso de microprints, mediante el conjunto de herramientas mencionado, con GitHub y su visualizador de registros de flujo de trabajo nativo. Los resultados respaldan la hipótesis de que los microprints facilitan el análisis de flujos de trabajo e identificación de errores en escenarios específicos, especialmente aquellos con registros extensos o múltiples errores no convencionales. Sin embargo, en situaciones donde la plataforma CI/CD identifica y destaca errores o en registros breves, el microprint resulta menos útil.
Además, en casos donde el microprint resalta líneas incorrectamente como errores, puede ser perjudicial, especialmente si el archivo de configuración tiene reglas mal definidas o que no se alinean con las necesidades del proyecto. Por lo tanto, se concluye que el microprint debe complementar las visualizaciones y herramientas de registro existentes, en lugar de reemplazarlas. The increasing adoption of DevOps practices in software development has highlighted the
critical need for effective and reliable Continuous Integration and Continuous Delivery/Deployment (CI/CD) workflows. These workflows are essential for the automation of building,
testing, and deployment of software, but they also generate a large volume of log files. These
logs capture detailed execution information, including changes, system activities, and errors. As CI/CD processes become more integral to development practices, managing and
interpreting these extensive logs is crucial for ensuring smooth operations and quick issue
resolution.
This thesis proposes the utilization of microprints, visualizations that condense large
amounts of text into small spaces, to detect errors in CI/CD workflows by visually inspecting
their logs. We highlight the challenges of manually inspecting logs, particularly in identifying
unreported errors not flagged by CI/CD platforms and when the logs have many lines. It
is hypothesized that the microprint aids in analyzing workflows and identifying errors in
specific scenarios.
A toolset is implemented to test this hypothesis. This set of tools includes a Python
package for creating SVG microprints, a website for microprint visualization, an API to
allow non-Python environments to make use of the Python package, and a GitHub Action
to integrate the generation of log file microprints into existing CI/CD workflows.
An experiment with seventeen participants was done to analyze the tests and weaknesses
of the microprint visualization in different cases (with distinct projects), the experiment compared the usage of microprints with the help of the already mentioned tool suite to GitHub
with its native workflow log visualizer. The results support the hypothesis that microprints
facilitate workflow analysis and error identification in specific scenarios, particularly those
with extensive logs or multiple unconventional errors. However, in situations where the
CI/CD platform identifies and highlights errors or in brief logs, the microprint is less useful.
Moreover, in cases where the microprint incorrectly highlights lines as errors, it can be
detrimental, especially if the configuration file has poorly defined rules or rules that do
not align with the project’s needs. Therefore, it is concluded that the microprint should
complement existing visualizations and logging tools rather than replace them.
xmlui.dri2xhtml.METS-1.0.item-notadetesis.item
Tesis para optar al grado de Magíster en Ciencias, Mención Computación Memoria para optar al título de Ingeniero Civil en Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/204793
Collections
The following license files are associated with this item: