To monitor memory profiling in CI/CD pipelines, you should track the following key metrics:
1. Garbage Collection Throughput: This measures the amount of time spent on garbage collection activities compared to the total execution time. A lower value indicates better memory management[1].
2. Average Garbage Collection Pause Time: This measures the average time the application pauses during garbage collection. Lower values indicate less impact on application performance[1].
3. Maximum Garbage Collection Pause Time: This measures the maximum time the application pauses during garbage collection. Lower values indicate less impact on application performance[1].
4. Object Creation Rate: This measures the rate at which objects are created by the application. Higher values can indicate memory leaks or inefficient memory usage[1].
5. Peak Heap Size: This measures the maximum amount of memory used by the application. Higher values can indicate memory leaks or inefficient memory usage[1].
6. Thread Count: This measures the number of active threads in the application. Higher values can indicate increased memory usage[1].
7. Thread States: This measures the distribution of threads across different states (e.g., running, sleeping, blocked). This can help identify memory-related issues[1].
8. Thread Groups: This measures the number of thread groups in the application. Higher values can indicate increased memory usage[1].
9. Wasted Memory: This measures the amount of memory that is not being used efficiently. Higher values can indicate memory leaks or inefficient memory usage[1].
10. Object Count: This measures the total number of objects in the application. Higher values can indicate memory leaks or inefficient memory usage[1].
11. Class Count: This measures the number of classes in the application. Higher values can indicate increased memory usage[1].
By tracking these metrics, you can identify memory-related issues early in the development lifecycle and optimize memory usage to ensure efficient application performance.
Citations:[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/