Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon CI/CD パイプラインのメモリ プロファイリングを監視するための主要なメトリクスは何ですか


CI/CD パイプラインのメモリ プロファイリングを監視するための主要なメトリクスは何ですか


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/continuous-monitoring-and-observability-in-devops/