Sun Identity Manager 8.1 リリースノート

プロファイラの使用

この節では、プロファイラのグラフィカルユーザーインタフェースの機能と、これらの機能の使用方法について説明します。説明する内容は次のとおりです。

プロファイラオプションの指定

「Profiler Options」ダイアログは次のタブで構成されています。

これらのタブにあるオプションを使用して、どのオブジェクトのプロファイルを作成するか、およびどの要素をプロファイルに表示するかを指定します。

プロファイラのオプションを指定したら、「OK」をクリックしてプロファイラを起動します。プロジェクトの設定に応じて、プロファイラは 2 つの処理のどちらかを実行します。


注 –

「IDM」>「Set Identity Manager Instance」を選択して、プロジェクトに対する Identity Manager インスタンスの動作を制御できます。


Mode

「Mode」タブには次のオプションがあります。

IDM Object Filters

「IDM Object Filters」タブには次のオプションがあります。

Java Filters

「Java Filters」タブは次の場合に選択します。

Java フィルタは、メソッドパターンの形で指定され、「正規メソッド名」に基づいて含めるか除外するかを示すパターンで表現されます。正規メソッド名は次のとおりです。

fully-qualified-class-name.method-name( parameter-type-1, parameter-type-2, ... )


注 –

コンストラクタの場合、method-name<init> です。


次に、いくつかの例を示します。


注 –

現在では、フィルタはカスタムクラスと Identity Manager クラスだけに適用されるため、最後の 2 つの例は等価です。


必要な場合は、build.xml の次の行を適切に編集すると、ほかの JAR を計測できます。次に例を示します。


<instrument todir="${lighthouse-dir-profiler}/WEB-INF" 
verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" 
excludeMethods="${profiler.excludes}">
           <fileset dir="${lighthouse-dir}/WEB-INF">
               <include name="lib/idm*.jar"/>
               <include name="classes/**/*.class"/>
           </fileset>
</instrument>

デフォルトの設定では、ユーザーのすべてのカスタムクラスとほとんどの Identity Manager クラスが含められます。いくつかの Identity Manager クラスは、有効にするとプロファイラで障害が発生するため、強制的に除外されています。

たとえば、ワークフロー、フォーム、および XPRESS の各エンジンのクラスは除外されています。そうしないと、プロファイラが Java および Identity Manager オブジェクトのプロファイルを作成する際に、理解不能なスナップショットが生成されます。

「Java Filters」では、「IDM Object Filters」よりはるかに詳細なフィルタリングが提供されます。Java 計測では、かなりのオーバーヘッドが実行時間に追加され、それによってプロファイリング結果が大幅に歪曲される可能性があります。Identity Manager オブジェクトはコンパイルされるのではなく解釈されるので、計測のオーバーヘッドは無視できるほどの大きさです。したがって、ワークフロー A を除外してワークフロー B を含めるなどには、基本的に理由がありません。


注 –

プロファイラの実行中に Java Filters を変更することはできません。Java Filters を変更する前に、プロファイラを停止する必要があります。


Miscellaneous

「Miscellaneous」タブには次のオプションがあります。

「IDM Profiler」ビューの操作

「IDM Profiler」ビューは次の領域で構成されています。

「Current Project」領域

「Current Project」領域は、ユーザーの現在のプロジェクトを一覧表示するドロップダウンメニューで構成されています。このメニューを使用して、プロファイルを作成するプロジェクトを選択します。

「Controls」領域

「Controls」領域には、次の表で説明する 4 つのアイコンがあります。

アイコン 

名前 

目的 

「Start Identity Manager Profiler」アイコンを示す図

Start Identity Manager Profiler 

プロファイラを起動し、「Profiler Options」ダイアログを開きます。 

「Stop Identity Manager Profiler」アイコンを示す図

Stop Identity Manager Profiler 

プロファイラを停止します。 

「Reset Collected Results」アイコンを示す図

Reset Collected Results 

この時点までに収集されたプロファイリング結果をすべてリセットします。 

「Modify Profiling」アイコンを示す図

Modify Profiling 

「Profiler Options」ダイアログを再度開き、現在のプロファイリング結果を修正するために設定を変更できるようにします。 

「Status」領域

「Status」領域は、ホストに接続しているかどうかを報告し、プロファイラの起動時、実行中、および停止時にはステータス情報を表示します。

「Profiling Results」領域

「Profiling Results」領域には、次の表で説明する 2 つのアイコンがあります。

アイコン 

名前 

目的 

「Start Identity Manager Profiler」アイコンを示す図

Start Identity Manager Profiler 

プロファイラを起動し、「Profiler Options」ダイアログを開きます。 

「Reset Collected Results」アイコンを示す図

Reset Collected Results 

この時点までに収集されたプロファイリング結果をすべてリセットします。 

「Saved Snapshot」領域

「Saved Snapshot」領域には、保存されているスナップショットの一覧が表示されます。


注 –

スナップショットを保存する手順については、「スナップショットの保存」を参照してください。


また、次のボタンを使用して、これらのスナップショットを管理することもできます。

「スナップショットビュー」の操作

スナップショットを開くと、Identity Manager IDE の右上にある「スナップショットビュー」ウィンドウに結果が表示されます。

スナップショットにはいくつかのデータビューがあり、これらについて次の節で説明します。

「Call Tree」ビュー

「Call Tree」ビューは、システム全体での呼び出し時間と呼び出し回数を表示するツリーテーブルで構成されています。

このツリーテーブルには、次の 3 つの列があります。

「Hotspots」ビュー

「Hotspots」ビューでは、親にかかわらず集計された呼び出し時間が、フラット化されたノードリストに表示されます。

このビューには、次の列があります。

「Back Traces」ビュー

「Back Traces」ビューでは、各ノードが呼び出されたすべての呼び出しチェーンが、逆転した呼び出しスタックに表示されます。

これらの統計を使用すると、そのノードから特定の呼び出しチェーンを削除した場合に、どれだけの時間が節約されるかがわかります。

「Back Traces」ビューにアクセスするには、ほかのスナップショットビューのいずれかでノード (「ルートノード」と呼ばれる) を右クリックし、ポップアップメニューから「Show Back Traces」を選択します。


注 –

「Back Traces」ビューの「Time」および「Invocations」のデータ値は少し意味が異なります。


「Callees」ビュー

「Callees」ビューでは、親チェーンにかかわらず集められた、ノード (「ルートノード」と呼ばれる) の呼び出しツリーが表示されます。

これらの統計は、問題のある領域がマスター呼び出しツリー全体のさまざまな部分から呼び出されている場合に、そのノードの全体的なプロファイルを確認するのに役立ちます。

「Callees」ビューにアクセスするには、ほかのスナップショットビューのいずれかでノード (「ルートノード」と呼ばれる) を右クリックし、ポップアップメニューから「Show Callees」を選択します。


注 –

「Callees」ビューで使用される「Time」および「Invocations」のデータ値の意味は、「Call Tree」ビューで使用されるものと同じです。


ポップアップメニューオプションの使用

「Call Tree」ビューまたは「Hotspots」ビューで任意のノードを右クリックすると、次の表に示すオプションがポップアップメニューに表示されます。

メニューオプション 

説明 

GoTo Source 

Java メソッド、ワークフロー、フォーム、規則、または XPRESS に対応するノードの XML ソースを表示する場合は、このオプションを選択します。このビューの詳細は、「プロファイラがソースを見つけて管理するしくみ」を参照してください。

Show Back Traces 

「Back Traces」ビューにアクセスする場合は、このオプションを選択します。このビューの詳細は、「「Back Traces」ビュー」を参照してください。

Show Callees 

「Callees」ビューにアクセスする場合は、このオプションを選択します。このビューの詳細は、「「Callees」ビュー」を参照してください。

Find In Hotspots 

「Hotspots」ビューでノードを検索する場合は、このオプションを選択します。このビューの詳細は、「「Hotspots」ビュー」を参照してください。

オプションを表示 > ソート > 

このオプションには次のいずれかを選択します。 

  • なし

  • Call Tree

  • Time

  • Invocations

  • 昇順にソート

  • 降順にソート

オプションを表示 > 表示項目を変更 

Call Tree または Hotspots のリストに表示される列を変更する場合は、このオプションを選択します。 

「表示項目を変更」ダイアログが表示されたら、次のオプションを 1 つ以上選択できます。 

  • Call Tree: Call Tree

  • Invocations : Invocations

  • Time: Time

スナップショットの検索

「スナップショットビュー」ウィンドウの上部にある「検索」アイコン「検索」アイコンを示す図 を使用すると、「Call Tree」ビューまたは「Hotspots」ツリーからノードを名前で検索できます。

あるいは、「Call Tree」ビューまたは「Hotspots」ビューで任意のノードを右クリックし、ポップアップメニューからそれぞれ「Find in Call Tree」または「Find in Hotspots」を選択すると、ノードを検索できます。

スナップショットの保存

プロファイラには、スナップショットを保存するためのオプションがいくつか用意されています。これらのオプションについては、次の表を参照してください。

アイコン 

名前 

目的 

「Start Identity Manager Profiler」アイコンを示す図

「Save the Snapshot in the Project」アイコン (「スナップショットビュー」ウィンドウの上部にある) 

プロジェクトの nbproject/private/idm-profiler ディレクトリにスナップショットを保存します。プロジェクトに保存されているスナップショットは、「Profiler」ビューの「Saved Snapshot」セクションに一覧表示されます。

「Stop Identity Manager Profiler」アイコンを示す図

「Save the Snapshot Externally」アイコン (「スナップショットビュー」ウィンドウの上部にある) 

外部の任意の場所にスナップショットを保存します。 

「Reset Collected Results」アイコンを示す図

「Save As」ボタン (「Saved Snapshot」領域にある) 

外部の任意の場所にスナップショットを保存します。