Jos haluat seurata muistin profilointia CI/CD-putkissa, sinun tulee seurata seuraavia keskeisiä mittareita:
1. Roskankeräysteho: Tämä mittaa jätteenkeruutoimintoihin käytettyä aikaa verrattuna kokonaisaikaan. Pienempi arvo tarkoittaa parempaa muistinhallintaa[1].
2. Keskimääräinen roskienkeruun taukoaika: Tämä mittaa keskimääräisen ajan, jonka sovellus pysähtyy roskien keräämisen aikana. Pienemmät arvot tarkoittavat vähemmän vaikutusta sovelluksen suorituskykyyn[1].
3. Maksimaalinen roskakeruutaukoaika: Tämä mittaa enimmäisajan, jonka sovellus pysähtyy roskienkeräyksen aikana. Pienemmät arvot tarkoittavat vähemmän vaikutusta sovelluksen suorituskykyyn[1].
4. Objektin luontinopeus: Tämä mittaa nopeuden, jolla sovellus luo objekteja. Suuremmat arvot voivat tarkoittaa muistivuotoja tai tehotonta muistin käyttöä[1].
5. Peak Heap Size: Tämä mittaa sovelluksen käyttämän muistin enimmäismäärän. Suuremmat arvot voivat tarkoittaa muistivuotoja tai tehotonta muistin käyttöä[1].
6. Säikeiden lukumäärä: Tämä mittaa sovelluksen aktiivisten säikeiden lukumäärän. Suuremmat arvot voivat tarkoittaa lisääntynyttä muistin käyttöä[1].
7. Säikeen tilat: Tämä mittaa säikeiden jakautumista eri tiloihin (esim. käynnissä, lepotilassa, estetty). Tämä voi auttaa tunnistamaan muistiin liittyviä ongelmia[1].
8. Säikeryhmät: Tämä mittaa sovelluksen säieryhmien lukumäärän. Suuremmat arvot voivat tarkoittaa lisääntynyttä muistin käyttöä[1].
9. Hukkaantunut muisti: Tämä mittaa muistin määrää, jota ei käytetä tehokkaasti. Suuremmat arvot voivat tarkoittaa muistivuotoja tai tehotonta muistin käyttöä[1].
10. Objektimäärä: Tämä mittaa sovelluksen objektien kokonaismäärän. Suuremmat arvot voivat tarkoittaa muistivuotoja tai tehotonta muistin käyttöä[1].
11. Class Count: Tämä mittaa sovelluksen luokkien lukumäärän. Suuremmat arvot voivat tarkoittaa lisääntynyttä muistin käyttöä[1].
Seuraamalla näitä mittareita voit tunnistaa muistiin liittyvät ongelmat varhaisessa kehitysvaiheessa ja optimoida muistin käytön varmistaaksesi tehokkaan sovelluksen suorituskyvyn.
Lainaukset:[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/