Чтобы отслеживать профилирование памяти в конвейерах CI/CD, необходимо отслеживать следующие ключевые показатели:
1. Производительность сборки мусора: измеряет количество времени, затраченное на действия по сбору мусора, по сравнению с общим временем выполнения. Меньшее значение указывает на лучшее управление памятью[1].
2. Среднее время паузы при сборке мусора: измеряет среднее время приостановки приложения во время сборки мусора. Более низкие значения указывают на меньшее влияние на производительность приложения[1].
3. Максимальное время паузы при сборке мусора: измеряет максимальное время приостановки приложения во время сборки мусора. Более низкие значения указывают на меньшее влияние на производительность приложения[1].
4. Скорость создания объектов: измеряет скорость создания объектов в приложении. Более высокие значения могут указывать на утечки памяти или неэффективное использование памяти[1].
5. Пиковый размер кучи: измеряет максимальный объем памяти, используемый приложением. Более высокие значения могут указывать на утечки памяти или неэффективное использование памяти[1].
6. Количество потоков: измеряет количество активных потоков в приложении. Более высокие значения могут указывать на повышенное использование памяти[1].
7. Состояния потоков: измеряет распределение потоков по различным состояниям (например, запущен, спящий, заблокирован). Это может помочь выявить проблемы, связанные с памятью[1].
8. Группы потоков: измеряет количество групп потоков в приложении. Более высокие значения могут указывать на повышенное использование памяти[1].
9. Неиспользуемая память: измеряет объем памяти, который используется неэффективно. Более высокие значения могут указывать на утечки памяти или неэффективное использование памяти[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/continous-monitoring-and-observability-in-devops/