クロス・コンポーネント・トレース (XCT)
クロス・コンポーネント・トレース (XCT) は、複数のスレッド、プロセス、またはサーバーによってサービス提供されている要求に関連するログ項目が同じ作業単位に属していると特定できるように、ログにアノテーションを付けます。
概要
XCT によって、コンポーネント全体にわたる問題の根本原因を特定できます。これは、以下の利点を持っています。
- スレッドやプロセスの境界の全探索や、スタック製品と WebSphere® Application Server との間の移動を行うため、管理者やサポート・チームがエンドツーエンドから要求のフローに従うことができます。
- どのコンポーネントが失敗した要求に関与するかについての疑問を解決できます。
XCT の管理
XCT は、WebSphere Application Server のログとトレースのフレームワークに組み込まれた機能です。XCT は、使用可能な場合、複数のスレッド、プロセス、またはサーバーによってサービス提供されている要求に関連するログ項目が同じ作業単位に属していると特定できるよう、ログにアノテーションを付けます。XCT は、異なるシステムの複数のサービスにわたる問題判別を容易にするため、サービス指向アーキテクチャーなどの分散アーキテクチャーを使用して作成されたアプリケーションには XCT が有効です。
XCT のさまざまなモード:
- 完全に使用不可。
- XCT 要求 ID が既存のログ・レコードおよびトレース・レコードに追加されている場合。
- XCT 要求 ID が既存のログ・レコードおよびトレース・レコードに追加されており、XCT ログ・レコードがログ・ファイルに追加されている場合。
- XCT 要求 ID が既存のログ・レコードおよびトレース・レコードに追加されており、XCT ログ・レコードがログ・ファイルに追加されており、データ・スナップショットが収集されている場合。
XCT 要求 ID:
- XCT 要求 ID は、サーバーが High Performance Extensible Logging (HPEL) を使用するように構成されているときに生成されるログ・レコードおよびトレース・レコードに追加される ID です。
- XCT は、どのスレッドまたは Java™ 仮想マシン (JVM) がログ項目またはトレース項目を生成するかに関係なく、ログ・レコードまたはトレース・レコードが同じ要求の一部である限り、同じ要求 ID を各ログ・レコードまたはトレース・レコードに追加します。
- XCT が HPEL ログおよびトレース・インフラストラクチャーで使用される場合、ログが拡張フォーマットで出力されると、logViewer ツールを使用して要求 ID を確認できます。
以下は、ログ・ファイルに XCT 要求 ID を持つログ・レコードの例です (拡張フォーマットでレンダリングして表示)。
[3/18/11 14:50:17:391 EDT] 00000018 W UOW= source=com.ibm.somelogger.QuickLogTest org= prod= component=
thread=[WebContainer : 1] requestID=BJrcVPo+Yk4-AAAAAAA8zAA hello world
以前は要求 ID が別の行に表示されていましたが、実際のログ・ファイルでは、ログ・レコードのヘッダーの他の部分と同じ行にあります。
XCT ログ・レコード:
- XCT ログ・レコードは、通常次の目的でログに追加されます。
- 特定のスレッドの特定の要求の処理の最初と最後を区別するため。
- 処理が別のスレッドやプロセスに転送されるタイミングを区別するため、または別のスレッドやプロセスから返されるタイミングを示すため。
- 処理が同じスレッド上で続行される場合でも、主要なコンポーネント間で処理が移動するタイミングを示すため。たとえば、アプリケーション・サーバー・コードからアプリケーション・コードへの制御の転送を示します。
以下は、ログ・ファイルの XCT ログ・レコードの例です。[3/18/11 14:50:17:391 EDT] 00000031 XCT I BEGIN BJrcVPo+Yk4-AAAAAAA8zAA 00000000000-cccccccccc2 HTTPCF(OutboundRequest /index.html RemoteAddress(127.0.0.1) RequestContext(36001645))
- XCT ログ・レコードは、以下で構成されています。
- XCT のタイプ (BEGIN / END)
- XCT の親の相関関係子 ID (例: 00000000000-cccccccccc2)
- XCT の現在の相関関係子 ID (例: BJrcVPo+Yk4-AAAAAAA8zAA)
- XCT annotations (for example, HTTPCF(OutboundRequest /index.html RemoteAddress(127.0.0.1) RequestContext(36001645))
XCT ツール:
- HPEL logViewer ツールは、要求 ID によってログ・レコードおよびトレース・レコードをフィルターできます。
- IBM® WebSphere Cross Component Trace Logviewer などのツールも、ログやトレースの内容をレンダリングしているときに、XCT ログ・レコードや XCT 要求 ID を利用できます。 IBM WebSphere Cross Component Trace Logviewer は、 IBM Support Assistant のツールのアドオンとして利用できます。
XCT 構成:
XCT は、wsadmin スクリプトを使用して構成できます。