CI/CD işlem hatlarında bellek profili oluşturmayı izlemek için aşağıdaki temel ölçümleri izlemelisiniz:
1. Çöp Toplama İşlemi: Bu, toplam yürütme süresine kıyasla çöp toplama faaliyetlerine harcanan süreyi ölçer. Daha düşük bir değer, daha iyi bellek yönetimini gösterir[1].
2. Ortalama Çöp Toplama Duraklatma Süresi: Bu, uygulamanın çöp toplama sırasında duraklattığı ortalama süreyi ölçer. Daha düşük değerler, uygulama performansı üzerinde daha az etki olduğunu gösterir[1].
3. Maksimum Çöp Toplama Duraklatma Süresi: Bu, uygulamanın çöp toplama sırasında duraklattığı maksimum süreyi ölçer. Daha düşük değerler, uygulama performansı üzerinde daha az etki olduğunu gösterir[1].
4. Nesne Oluşturma Oranı: Bu, uygulama tarafından nesnelerin oluşturulma hızını ölçer. Daha yüksek değerler bellek sızıntılarını veya verimsiz bellek kullanımını gösterebilir[1].
5. Tepe Yığın Boyutu: Bu, uygulamanın kullandığı maksimum bellek miktarını ölçer. Daha yüksek değerler bellek sızıntılarını veya verimsiz bellek kullanımını gösterebilir[1].
6. İş Parçacığı Sayısı: Bu, uygulamadaki etkin iş parçacıklarının sayısını ölçer. Daha yüksek değerler artan bellek kullanımını gösterebilir[1].
7. İş Parçacığı Durumları: Bu, iş parçacıklarının farklı durumlara (ör. çalışıyor, uykuda, engellenmiş) dağılımını ölçer. Bu, bellekle ilgili sorunların belirlenmesine yardımcı olabilir[1].
8. İş Parçacığı Grupları: Bu, uygulamadaki iş parçacığı gruplarının sayısını ölçer. Daha yüksek değerler artan bellek kullanımını gösterebilir[1].
9. Boşa Harcanan Bellek: Bu, verimli şekilde kullanılmayan bellek miktarını ölçer. Daha yüksek değerler bellek sızıntılarını veya verimsiz bellek kullanımını gösterebilir[1].
10. Nesne Sayısı: Uygulamadaki toplam nesne sayısını ölçer. Daha yüksek değerler bellek sızıntılarını veya verimsiz bellek kullanımını gösterebilir[1].
11. Sınıf Sayısı: Uygulamadaki sınıf sayısını ölçer. Daha yüksek değerler artan bellek kullanımını gösterebilir[1].
Bu ölçümleri takip ederek bellekle ilgili sorunları geliştirme yaşam döngüsünün erken aşamalarında tespit edebilir ve verimli uygulama performansı sağlamak için bellek kullanımını optimize edebilirsiniz.
Alıntılar:[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/