Para monitorear el perfil de memoria en canalizaciones de CI/CD, debe realizar un seguimiento de las siguientes métricas clave:
1. Rendimiento de recolección de basura: Mide la cantidad de tiempo dedicado a las actividades de recolección de basura en comparación con el tiempo total de ejecución. Un valor más bajo indica una mejor gestión de la memoria[1].
2. Tiempo promedio de pausa de la recolección de basura: Mide el tiempo promedio que la aplicación se detiene durante la recolección de basura. Los valores más bajos indican un menor impacto en el rendimiento de la aplicación[1].
3. Tiempo máximo de pausa de la recolección de basura: Mide el tiempo máximo que la aplicación se detiene durante la recolección de basura. Los valores más bajos indican un menor impacto en el rendimiento de la aplicación[1].
4. Tasa de creación de objetos: Mide la velocidad a la que la aplicación crea objetos. Los valores más altos pueden indicar pérdidas de memoria o un uso ineficiente de la memoria[1].
5. Tamaño máximo del montón: Mide la cantidad máxima de memoria utilizada por la aplicación. Los valores más altos pueden indicar pérdidas de memoria o un uso ineficiente de la memoria[1].
6. Recuento de subprocesos: Mide el número de subprocesos activos en la aplicación. Los valores más altos pueden indicar un mayor uso de la memoria[1].
7. Estados de subprocesos: mide la distribución de subprocesos en diferentes estados (por ejemplo, en ejecución, inactivo, bloqueado). Esto puede ayudar a identificar problemas relacionados con la memoria[1].
8. Grupos de subprocesos: Mide el número de grupos de subprocesos en la aplicación. Los valores más altos pueden indicar un mayor uso de la memoria[1].
9. Memoria desperdiciada: Mide la cantidad de memoria que no se utiliza de manera eficiente. Los valores más altos pueden indicar pérdidas de memoria o un uso ineficiente de la memoria[1].
10. Recuento de objetos: Mide el número total de objetos en la aplicación. Los valores más altos pueden indicar pérdidas de memoria o un uso ineficiente de la memoria[1].
11. Recuento de clases: Mide el número de clases en la aplicación. Los valores más altos pueden indicar un mayor uso de la memoria[1].
Al realizar un seguimiento de estas métricas, puede identificar problemas relacionados con la memoria en las primeras etapas del ciclo de vida de desarrollo y optimizar el uso de la memoria para garantizar un rendimiento eficiente de la aplicación.
Citas:[1] https://blog.heaphero.io/2018/07/10/micrometrics-for-ci-cd-pipeline/
[2] https://www.linkedin.com/pulse/cicd-pipeline-metrics-palani-thiyagarajan
[3] https://thenewstack.io/using-dora-metrics-to-optimize-ci-pipelines/
[4] https://docs.gitlab.com/ee/user/analytics/ci_cd_analytics.html
[5] https://codilime.com/blog/continuous-monitoring-and-observability-in-devops/