Identity Manager の中には、トレースを有効に設定できる場所が複数用意されています。次に、この手順について説明していきます。
「System Settings」ページが Product_IDMgr; のデバッグページのメイン画面になります。
このページから行える操作は、次のとおりです。
リポジトリ内のオブジェクトの表示と編集
キャッシュの消去
特殊なトレースの設定
Waveset.properties ファイルの再読み込み
Identity Manager の「System Settings」ページからトレースを有効にする手順は、次のとおりです。
ブラウザを開いて、Identity Manager 管理者インタフェースにログインします。
次の URL を入力します。
http://host port/idm/debug
各表記の意味は次のとおりです。
host は、Identity Manager の実行先ローカルサーバーです。
port は、このサーバーが監視中の TCP ポート数です。
「System Settings」ページが表示されたら「Show Trace」をクリックして、単一のトレース設定を操作します。ここから、最大 10 個までのトレース設定を作成、変更、削除できます。
これ以降の説明は、トレース設定が 1 つしかないものとして説明します。
複数のトレース設定を操作するには、代わりに「Show Trace List」ボタンをクリックしてください。「Trace Configuration」ページが表示されたら、これまでの設定を編集する設定名をクリックします。
Identity Manager には、デフォルトでグローバル設定が用意されています。しかし、Identity Manager インスタンスに複数のサーバーがある場合は、これ以外の設定を定義した方が便利かもしれません。トレース設定名と現ホスト名が重複する場合は、ホスト設定の方がグローバル設定よりも優先されます。
トレースを設定した後は、次のセクションで説明するように、デフォルトのグローバルトレース設定オブジェクトを表示して編集したり、設定オブジェクトを新規作成できます。
「Edit Trace Configuration」ページから、「Trace Enabled」ボックスをクリックしてトレースを有効にします。
このボックスの選択を解除するとトレースは終了しますが、設定はそのまま残ります。トレースしていたクラスを覚えておいて入力し直さなくても、トレースの有効と無効を切り替えられます。
トレースするクラス、パッケージ、またはメソッド名をテーブルに入力して指定します。
たとえば、次のようにします。
waveset.repository パッケージ内にあるすべてのクラスをトレースするには、com.waveset.repository と入力します。
waveset.repository パッケージ内にある AbstractDataStore クラスをトレースするには、com.waveset.repository.AbstractDataStore と入力します。
waveset パッケージ内にある AbstractDataStore クラスのリストメソッドをトレースするには、 com.waveset.repository.AbstractDataStore#list と入力します。
com.waveset クラスにはトレースを有効に設定しないでください。com.waveset クラスは冗長で多数のクラスがあるため、このクラスをトレースするとサーバーがハングすることがあります。
このテーブルの「Level」メニューから、「Method」または「Class」のトレースレベルを選択します。
次の表で説明するように、それぞれのレベルで異なる種類の情報が取り込まれます。
トレースレベル |
説明 |
---|---|
0 |
最小デバッグ出力、トレース例外、およびエラー情報のみ |
1 |
トレースレベル 0 イベント + Public メソッドのエントリと終了 |
2 |
トレースレベル 1 イベント + Public 以外のメソッドのエントリと終了 |
3 |
トレースレベル 2 + 決定点と重要変数 |
4 |
最大デバッグ出力 |
メソッド/クラスのトレースは予測できますが、場合によってはトレース出力が大量になることがあります。トレースするメソッドとクラスを指定するときは、できる限り明確に指定するようにしてください。
(オプショナル) 下位呼び出しのトレースを有効にするには、「Subcall Tracing」メニューからレベルを選択します。このメニューで使用されるトレース番号のレベルは、先の表で説明したものと同じです。
デフォルトの下位呼び出しトレースレベルは、なしです。これにより、メソッド単位またはクラス単位での下位呼び出しトレースが無効になります。
下位呼び出しトレースレベルは、先の手順で指定したメソッド/クラスのトレースレベルとは関係ありません。
下位呼び出しトレースをサポートしている特定のメソッドに「下位呼び出しトレース」を有効にすると、このメソッドから呼び出されるメソッドにはトレースレベルが自動的に設定されるようになります。下位呼び出しトレースを使用すると、指定メソッドへのエントリとメソッドの終了により終了したエントリを契機に、短くても詳細なトレース出力のバーストが生成できます。
たとえば、com.waveset.adapter.NewRes#init メソッドのトレース設定を作成した場合は、メソッド/クラスのトレースをレベル 1 に設定し、下位呼び出しトレースをレベル 3 に設定します。
さらに、init メソッドが次のもう 2 つのメソッドを呼び出すとします。
NewRes#subcallA
NewRes#subcallB
init メソッドが実行されると、com.waveset.adapter.NewRes#init メソッドは、 subcallA に達するまで、レベル 1 でトレース出力を生成します。subcallA の実行が開始されると、トレースレベルが 3 に変わり、subcallA が終了するまでこのレベルが継続されます。com.waveset.adapter.NewRes#init メソッドが init メソッドに戻り、トレースレベルを 1 に戻します。その後、init が subcallB を呼び出すと、subcallB が存在する限り、別のバーストのトレースレベル 3 の詳細が続きます。最後に、init が存在すれば、トレースレベル 1 が終了します。
トレース結果を指定ファイルの場所に送信するか、stdout に送信します。
ファイルへの出力を選択すると、「Trace File」フィールドが表示されます。このフィールドから、別の場所を指定したり、トレース出力ファイルのファイル名を指定します。デフォルトの出力場所とファイル名は、次のとおりです。
path_to_idm_install\export\pipeline\config\WSTrace.log |
格納する最大トレースファイル数を指定します (デフォルトは 2)。
各ファイルの最大サイズを指定します (デフォルトは 512K)。
トレース出力ファイルを生成時に書き込むか (同期的)、そのデータをキューに入れておいてからトレースファイルに書き込むか (非同期的) を指定します。
変更を保存します。
トレース設定オブジェクトを新規作成するには、次の項目を実行します。
トレース対象とするパッケージまたはメソッドを決定します。
通常は、リソースアダプタ名を指定するか、エラーメッセージに表示された情報を使用します。
Identity Manager 管理者インタフェースにログインし、「System Settings」ページからトレースを有効にするに説明したとおりに「System Settings」ページを開きます。
「System Settings」ページで、「Show Trace List」をクリックします。
Identity Manager の「Trace Configuration」ページが表示されたら、「New」をクリックします。
「Edit Trace Configuration」ページから、トレースを有効にします。
「Trace Configuration」メニューから、次のオプションのいずれかを選択します。
「Global」。すべてのサーバーのトレースを有効にするように選択します。
サーバー名。サーバー名を選択して、特定のサーバーのトレースを有効にします。
「Trace Enabled」ボックスを選択して、このオブジェクトのトレースを有効にし、デフォルトの設定オブジェクトを編集するに説明したとおりにこのページの残りのパラメータを設定します。
変更を保存します。
ここでは、Identity Manager のデバッグページからトレースを有効にする方法について説明します。
ブラウザを開いて、Identity Manager 管理者インタフェースにログインします。
次の URL を入力します。
http:// host:port /idm/debug/ pageName.jsp
各表記の意味は次のとおりです。
host は、Identity Manager の実行先ローカルサーバーです。
port は、このサーバーが監視中の TCP ポート数です。
pageName.jsp は、開こうとしている個々のデバッグページです。
たとえば、カスタムアダプタにアダプタクラスとメソッドをトレースするには、次の URL を入力して「Edit Trace Configuration」ページを開きます。
http://host : port/idm/debug/Show_Trace.jsp
ここでは、Identity Manager コンソールからトレースを有効にする方法について説明します。