Для моніторингу профілювання пам’яті в конвеєрах CI/CD слід відстежувати такі ключові показники:
1. Пропускна здатність збору сміття: вимірює час, витрачений на дії зі збирання сміття, порівняно із загальним часом виконання. Нижче значення вказує на краще керування пам’яттю[1].
2. Середній час призупинення збирання сміття: вимірює середній час призупинення програми під час збирання сміття. Нижчі значення вказують на менший вплив на продуктивність програми[1].
3. Максимальний час паузи при збиранні сміття: вимірює максимальний час призупинення програми під час збирання сміття. Нижчі значення вказують на менший вплив на продуктивність програми[1].
4. Швидкість створення об’єктів: вимірює швидкість, з якою програма створює об’єкти. Вищі значення можуть вказувати на витік пам’яті або неефективне використання пам’яті[1].
5. Піковий розмір купи: вимірює максимальний обсяг пам’яті, який використовується програмою. Вищі значення можуть вказувати на витік пам’яті або неефективне використання пам’яті[1].
6. Кількість потоків: вимірює кількість активних потоків у програмі. Вищі значення можуть вказувати на збільшення використання пам’яті[1].
7. Стани потоку: вимірює розподіл потоків у різних станах (наприклад, запущено, сплячий, заблокований). Це може допомогти виявити проблеми, пов’язані з пам’яттю[1].
8. Групи потоків: вимірює кількість груп потоків у програмі. Вищі значення можуть вказувати на збільшення використання пам’яті[1].
9. Wassed Memory: вимірює обсяг пам’яті, який використовується неефективно. Вищі значення можуть вказувати на витік пам’яті або неефективне використання пам’яті[1].
10. Кількість об’єктів: вимірює загальну кількість об’єктів у програмі. Вищі значення можуть вказувати на витік пам’яті або неефективне використання пам’яті[1].
11. Кількість класів: вимірює кількість класів у програмі. Вищі значення можуть вказувати на збільшення використання пам’яті[1].
Відстежуючи ці показники, ви можете виявити проблеми, пов’язані з пам’яттю, на ранніх етапах життєвого циклу розробки та оптимізувати використання пам’яті для забезпечення ефективної роботи програми.
цитати:[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/