Pour surveiller le profilage de la mémoire dans les pipelines CI/CD, vous devez suivre les métriques clés suivantes :
1. Débit du garbage collection : mesure le temps consacré aux activités de garbage collection par rapport au temps d'exécution total. Une valeur inférieure indique une meilleure gestion de la mémoire[1].
2. Durée moyenne de pause du garbage collection : cela mesure la durée moyenne de pause de l'application pendant le garbage collection. Des valeurs inférieures indiquent un impact moindre sur les performances des applications[1].
3. Durée maximale de pause du garbage collection : Ceci mesure la durée maximale de pause de l'application pendant le garbage collection. Des valeurs inférieures indiquent un impact moindre sur les performances des applications[1].
4. Taux de création d'objets : Ceci mesure la vitesse à laquelle les objets sont créés par l'application. Des valeurs plus élevées peuvent indiquer des fuites de mémoire ou une utilisation inefficace de la mémoire[1].
5. Taille maximale du tas : ceci mesure la quantité maximale de mémoire utilisée par l'application. Des valeurs plus élevées peuvent indiquer des fuites de mémoire ou une utilisation inefficace de la mémoire[1].
6. Thread Count : Ceci mesure le nombre de threads actifs dans l'application. Des valeurs plus élevées peuvent indiquer une utilisation accrue de la mémoire[1].
7. États des threads : cela mesure la répartition des threads dans différents états (par exemple, en cours d'exécution, en veille, bloqués). Cela peut aider à identifier les problèmes liés à la mémoire[1].
8. Groupes de threads : cela mesure le nombre de groupes de threads dans l'application. Des valeurs plus élevées peuvent indiquer une utilisation accrue de la mémoire[1].
9. Mémoire gaspillée : Ceci mesure la quantité de mémoire qui n'est pas utilisée efficacement. Des valeurs plus élevées peuvent indiquer des fuites de mémoire ou une utilisation inefficace de la mémoire[1].
10. Nombre d'objets : cela mesure le nombre total d'objets dans l'application. Des valeurs plus élevées peuvent indiquer des fuites de mémoire ou une utilisation inefficace de la mémoire[1].
11. Nombre de classes : Ceci mesure le nombre de classes dans l'application. Des valeurs plus élevées peuvent indiquer une utilisation accrue de la mémoire[1].
En suivant ces métriques, vous pouvez identifier les problèmes liés à la mémoire dès le début du cycle de vie de développement et optimiser l'utilisation de la mémoire pour garantir des performances applicatives efficaces.
Citations :[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/