トレース・エクスプローラの使用

トレース・エクスプローラを使用すると、トレースとスパンを表示して、ブラウザからデータベースまで、モニター対象アプリケーションのパフォーマンス問題やボトルネックを特定できます。

Application Performance Monitoringには、分散トレース・システムの実装が含まれています。OpenTracingおよびOpenTelemetryスパンを受け入れて、それらをトレースに結合し、トレースと各スパンの両方をモニターします。アプリケーションでOpenTracingを有効にするには、トレーサを使用して各コンポーネント(JVM、JavaScriptなど)をインストゥルメント化する必要があります。これを行うには、アプリケーション・コードにトレーサを埋め込むか、バイトコード・インストゥルメンテーションを使用して実行時にトレーサを追加します。Application Performance Monitoringでは、様々なデータ・ソースを使用してトレースおよびスパンをアップロードします。また、Application Performance MonitoringはOracle Functionsとも統合されており、トレース・エクスプローラでファンクション・トレース・データをアップロードおよびモニターできます。詳細は、Application Performance Monitoringのデータ・ソースを参照してください。

トレース・データの収集方法を表す図を次に示します:

トレース・データの収集およびアップロード

この図では:

  1. トランザクションはブラウザからのAJAXコールで始まり、ブラウザ・エージェントが操作のトレースIDおよびスパンIDをHTTPヘッダーにインジェクトします。
  2. 次のトレーサがマイクロサービスAでトレースIDとスパンIDを抽出し、同じトレースIDを使用して、次のダウンストリームHTTPコールの新しいスパンIDをインジェクトします。
  3. トランザクションは、最終のサービス(この場合はデータベースのコール)に到達するまでサービス間を移動します。データベースへのコールが返されると、トレーサはスパン・データをApplication Performance Monitoringに送信します。このデータには、トレースIDとスパンID、操作の期間、およびその他のディメンション(サービス名と操作名、SQLテキストとID、操作に固有の詳細など)が含まれます。
  4. 各コールが返されると、トレーサは、返されたコールごとに個々のスパンを送信します。これには、完了した特定の操作に関連する詳細が含まれます。最終的には、トレースを開始した最初のAJAXコールが完了し、ブラウザのエージェントがそのデータをルート・スパンとして送信します。これにより、トレースに完了のマークが付きます。

トレース・データがアップロードされた後は、トレース・エクスプローラにより診断対象のトレースを調べることができ、すべてのトレース内のすべてのスパンが常に可視化されます。単純な問合せ言語を使用して、スパンを検索、ソートおよびグループ化できます。トレース・エクスプローラを使用すると、次のことができます:

  • 個々のトレースをモニターし、その詳細を表示し、大量のトレースおよびスパンのセットを分析して、傾向や異常を識別します。
  • 遅いトレース、エラーのあるトレース、および特定のサーバーやデータ・ソースを使用しているトレースを検出します。
  • ページ・ロードやAJAXコールなどの特定のスパンにドリルダウンすることで、問題を切り分けて特定します

また、ダッシュボードを使用して、アプリケーション・サーバーとエンドユーザー・エクスペリエンスをリアルタイムでモニターすることもできます。ダッシュボードの詳細は、ダッシュボードの作業を参照してください。