ヘルプ APM APM Javaエージェント ループ検知
Site24x7 APMインサイトJavaエージェントでループ検知を行います。
この機能により、データベースクエリの複製や過剰な時間消費を引き起こしているアプリケーションコードのループを検知できます。
ループはプログラムにおいて重要なコンポーネントであり、特定の条件にマッチするまでリピートして実行される処理です。この機能は反復的なタスク、データ収集処理、様々なアルゴリズムの実行のために重要なものです。
しかし、正常にループ処理が行われていないと、パフォーマンス問題が引き起こされます。過剰なループ実行や非効率なロジックを含まれていると、処理する時間やリソースが増加し、ユーザー体感の低下やアプリケーションクラッシュにつながります。
最適なパフォーマンスを維持するために、継続的にコード内のループを監視し特定することが必要です。これらコードブロックを事前に検知し、アプリケーションを最適化します。
APMインサイトJavaエージェントのループ検知機能で、アプリケーションコード内のループをキャプチャし、複製された要求を特定します。これにより、同期および非同期コードの非効率な効果を防止します。パフォーマンスのボトルネックを特定することで、アプリケーションパフォーマンスとユーザー体感の向上につなげられます。
デフォルトでループ検知機能は無効化されています。
こちらの方法で有効化してください。
スパンの強調表示された部分は、外側のループ(CatalogBean.viewProduct)が2回実行され、内側のループ(Product.sleepTime) が2回実行され、合計4回の反復が行われるネストされたループ実装のエージェントの検出を示しています。
全てのループはキャプチャされません。
ループ検知は、ユーザーパッケージ内のメソッドで指定されており、次のしきい値のうち1つ以上にマッチしたループが表示されます。
ループ検知が行われると、次のメトリックが[トレース詳細]タブに表示されます。
メトリック | 説明 |
---|---|
期間 | ループ実行にかかった合計時間です。 |
ループ元 | ループ元のクラスとメソッド名です。 |
反復回数 | ループが行われた反復回数です。 |
複製要求の包括ビュー | ループ内の同じ位置での反復にわたり発生した外部要求をマージして、単一スパンで表示します。 |