Pentru a monitoriza profilarea memoriei în conductele CI/CD, ar trebui să urmăriți următoarele valori cheie:
1. Debit de colectare a gunoiului: aceasta măsoară timpul petrecut cu activitățile de colectare a gunoiului în comparație cu timpul total de execuție. O valoare mai mică indică o mai bună gestionare a memoriei[1].
2. Timp mediu de pauză pentru colectarea gunoiului: aceasta măsoară timpul mediu în care aplicația se întrerupe în timpul colectării gunoiului. Valorile mai mici indică un impact mai mic asupra performanței aplicației[1].
3. Timp maxim de pauză pentru colectarea gunoiului: Aceasta măsoară timpul maxim în care aplicația se întrerupe în timpul colectării gunoiului. Valorile mai mici indică un impact mai mic asupra performanței aplicației[1].
4. Rata de creare a obiectelor: Aceasta măsoară viteza cu care obiectele sunt create de aplicație. Valorile mai mari pot indica scurgeri de memorie sau o utilizare ineficientă a memoriei[1].
5. Peak Heap Size: Aceasta măsoară cantitatea maximă de memorie utilizată de aplicație. Valorile mai mari pot indica scurgeri de memorie sau o utilizare ineficientă a memoriei[1].
6. Thread Count: Măsoară numărul de fire active din aplicație. Valorile mai mari pot indica o utilizare crescută a memoriei[1].
7. Thread States: aceasta măsoară distribuția firelor de execuție în diferite stări (de exemplu, rulare, repaus, blocat). Acest lucru poate ajuta la identificarea problemelor legate de memorie[1].
8. Grupuri de fire: Aceasta măsoară numărul de grupuri de fire din aplicație. Valorile mai mari pot indica o utilizare crescută a memoriei[1].
9. Memorie irosită: Aceasta măsoară cantitatea de memorie care nu este utilizată eficient. Valorile mai mari pot indica scurgeri de memorie sau o utilizare ineficientă a memoriei[1].
10. Număr de obiecte: Măsoară numărul total de obiecte din aplicație. Valorile mai mari pot indica scurgeri de memorie sau o utilizare ineficientă a memoriei[1].
11. Număr de clase: Măsoară numărul de clase din aplicație. Valorile mai mari pot indica o utilizare crescută a memoriei[1].
Urmărind aceste valori, puteți identifica problemele legate de memorie la începutul ciclului de viață al dezvoltării și puteți optimiza utilizarea memoriei pentru a asigura performanța eficientă a aplicației.
Citate:[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/