トレース・エクスプローラの使用
トレース・エクスプローラを使用すると、トレースとスパンを表示して、ブラウザからデータベースまで、モニター対象アプリケーションのパフォーマンス問題やボトルネックを特定できます。
Application Performance Monitoringには、分散トレース・システムの実装が含まれています。OpenTracingおよびOpenTelemetryスパンを受け入れて、それらをトレースに結合し、トレースと各スパンの両方をモニターします。アプリケーションでOpenTracingを有効にするには、トレーサを使用して各コンポーネント(JVM、JavaScriptなど)をインストゥルメント化する必要があります。これを行うには、アプリケーション・コードにトレーサを埋め込むか、バイトコード・インストゥルメンテーションを使用して実行時にトレーサを追加します。Application Performance Monitoringでは、様々なデータ・ソースを使用してトレースおよびスパンをアップロードします。また、Application Performance MonitoringはOracle Functionsとも統合されており、トレース・エクスプローラでファンクション・トレース・データをアップロードおよびモニターできます。詳細は、Application Performance Monitoringのデータ・ソースを参照してください。
トレース・データの収集方法を表す図を次に示します:
この図では:
- トランザクションはブラウザからのAJAXコールで始まり、ブラウザ・エージェントが操作のトレースIDおよびスパンIDをHTTPヘッダーにインジェクトします。
- 次のトレーサがマイクロサービスAでトレースIDとスパンIDを抽出し、同じトレースIDを使用して、次のダウンストリームHTTPコールの新しいスパンIDをインジェクトします。
- トランザクションは、最終のサービス(この場合はデータベースのコール)に到達するまでサービス間を移動します。データベースへのコールが返されると、トレーサはスパン・データをApplication Performance Monitoringに送信します。このデータには、トレースIDとスパンID、操作の期間、およびその他のディメンション(サービス名と操作名、SQLテキストとID、操作に固有の詳細など)が含まれます。
- 各コールが返されると、トレーサは、返されたコールごとに個々のスパンを送信します。これには、完了した特定の操作に関連する詳細が含まれます。最終的には、トレースを開始した最初のAJAXコールが完了し、ブラウザのエージェントがそのデータをルート・スパンとして送信します。これにより、トレースに完了のマークが付きます。
トレース・データがアップロードされた後は、トレース・エクスプローラにより診断対象のトレースを調べることができ、すべてのトレース内のすべてのスパンが常に可視化されます。単純な問合せ言語を使用して、スパンを検索、ソートおよびグループ化できます。トレース・エクスプローラを使用すると、次のことができます:
- 個々のトレースをモニターし、その詳細を表示し、大量のトレースおよびスパンのセットを分析して、傾向や異常を識別します。
- 遅いトレース、エラーのあるトレース、および特定のサーバーやデータ・ソースを使用しているトレースを検出します。
- ページ・ロードやAJAXコールなどの特定のスパンにドリルダウンすることで、問題を切り分けて特定します
また、ダッシュボードを使用して、アプリケーション・サーバーとエンドユーザー・エクスペリエンスをリアルタイムでモニターすることもできます。ダッシュボードの詳細は、ダッシュボードの作業を参照してください。