スタンドアロン・モードでアプリケーションのプロファイルを作成する
Hyades ツールがインストールされていなくても、スタンドアロン・モードで (つまり、
コマンド行から) アプリケーションのプロファイルを作成することができます。 ただし、
プロファイルを作成しようとするアプリケーションが常駐するマシン上に、
エージェント・コントローラーがインストールされている必要があります。
Java アプリケーションの動作をキャプチャーして記録するために Java 仮想マシン (JVM) に付加するライブラリーである Java プロファイル作成エージェントを呼び出すことにより、
スタンドアロン・モードでアプリケーションのプロファイルを作成することができます。
エージェントからの出力は、XML フラグメントの形式になります。
-Xrun Java オプションを使用して、
Java プロファイル作成エージェントを呼び出します。
-XrunpiAgent:agent_parm[,agent_parm]*
たとえば、ファイル myFilters.txt で定義されたフィルターを使用して PerformanceExample.java のプロファイルを作成し、
プロファイル作成セッションからのデータを PEProfilingData というファイルに送信するには、コマンド行に次のように入力します。
java
-XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- -XrunpiAgent パラメーターを引き数として使用することにより、
幾つかの異なるモードを指定してプロファイル作成エージェントを実行することができます。
パラメーター agent_parm は、次のいずれかの値を取ります。
- server=[standalone | enabled | controlled | application]
- standalone
- プロファイル作成エージェントはヘッドレス (headless) モードで実行されます。
つまり、ワークベンチからエージェントと対話することはできません。
構成情報は構成ファイルを使用して提供され、プロファイル作成データはプロファイル作成エージェントによって直接、ファイルに保管されます。その後、プロファイル作成ファイルは後の日付でワークベンチにインポートすることができます。
- Java プロファイル作成エージェントは手作業で JVM インスタンスにアタッチされ、出力ファイルにプロファイル作成データを生成します。デフォルトの出力ファイルは trace.trcxml と呼ばれますが、file= filename パラメーターを使用して異なるファイル名を指定することも可能です。
このオプションを選択すると、Java プロファイル作成エージェントは囲みの traceRoot エレメントを作成して、完全で有効な XML 文書を形成します。
- enabled (これがデフォルト)
- プロファイル作成エージェントは、ワークベンチが接続されてモニターの開始が要求されるまで JVM のバックグラウンドで実行され、リソースを消費しません。要求があると、データはエージェント・コントローラーのデータ・チャネルを介して流れ、ワークベンチが利用します。
つまり、Java プロファイル作成プロファイル作成がロードされ、アプリケーションは正常に実行できますが、
クライアントがエージェントにアタッチして指示を出すまで、プロファイル作成データは作成されません。
このオプションを選択すると、Java プロファイル作成エージェントは完全な XML 文書ではなく、XML フラグメントを作成します。
- controlled
- プロファイル作成エージェントは、ワークベンチからアタッチがあり、
クライアントからモニターの開始の指示があるまで、JVM の初期化を阻止 (エージェントはロードされているが、
アプリケーションの実行をブロック) します。
つまりプロファイル作成エージェントが controlled モードで起動されると、
モニターの開始要求があるまで JVM をハングさせているように見え、
完全な XML 文書ではなく、XML フラグメントしか作成しません。
- application
- Java プロファイル作成エージェントがロードされて、バックグラウンドで実行され、
アプリケーションを通常どおり割り込み可能 (イネーブル) モードで実行できます。
- 2 つの条件を満足した場合にのみ、プロファイル作成データを作成します。
まず、プロファイル作成エージェントが org.eclipse.hyades.collection.profiler.Profiler を使用して
プロファイル作成を開始することをアプリケーションが要求していること、2 番目には、
ワークベンチのテスト・クライアントが Java プロファイル作成エージェントにアタッチされていてモニターを開始済みであること。
- 注: すべてのプロファイル作成は org.eclipse.hyades.collection.profiler.Profiler クラスを使用してアプリケーションで制御されます。
- filters=filename
server=standalone を指定したときにのみ使用。
プロファイル作成セッション で使用される初期クラスフィルター定義の入っているファイルの名前を指定します。
デフォルトのファイル名は現行ディレクトリーの filters.txt です。
ファイル・フォーマットの情報については、以下を参照してください。
- file=filename
server=standalone を指定したときにのみ使用。
プロファイル作成データを書き込むファイルの名前を指定します。 デフォルトは現行ディレクトリーにある trace.trcxml です。
- help
使用可能なエージェント・オプションのリストを STDOUT に出力します。
クラス・フィルター・ファイルのフォーマット
このファイルのフォーマットを次に示します。
pattern mode
ここで、
- pattern
- 組み込みブランクのないストリングです。 このストリングには、単一のアスタリスク (*) をストリングの先頭または終わりのいずれかに入れることができます。 * はゼロ個またはそれ以上の文字と一致するため、パターンは総称接頭部あるいは接尾部パターンとなります。
また、すべてのストリングを表すために、単一の * を指定することもできます。
- mode
- パターンに一致したクラスをプロファイル作成に含めるのか、
除外するのかを指定します。
モードの値は INCLUDE または EXCLUDE のいずれかです。
フィルター・パターンは最初のパターン・マッチングが成功するまで、指定された順序で処理されます。
クラス名が、指定されたいずれのフィルター・パターンとも一致しない場合は、デフォルトでそのクラスを INCLUDE することになります。
Java プロファイル作成エージェントの制御
Java プロファイル作成エージェントが server=enabled または server=controlled パラメーターを指定して開始されると、
エージェントとの通信はホスト・マシン上のエージェント・コントローラーによってクライアント・ワークベンチを使用して行われます。
注
- フィルター定義ファイル名をコマンド行に指定しないと、Java プロファイル作成エージェントは
現行ディレクトリーにある filters.txt というファイルからフィルターを読み取ろうとします。filters.txt ファイルが存在しない場合、そのプロファイル作成セッションではフィルターが使用されません。
フィルター・ファイルを filters.txt という名前にして、現行ディレクトリーに配置すると、
コマンド・ラインでフィルター・パラメーターを指定しなくても、
プロファイル作成セッションでそのフィルターが使用されるようになります。
- プロファイル作成データの出力ファイルを指定しないと、
データは trace.trcxml ファイルに保管されます。
- 出力ファイルの拡張子は指定する必要がありません。
.trcxml という拡張子が自動的に付けられます。
- Java アプリケーションの拡張子は指定する必要がありません。
このアプリケーションは、.class ファイルにすることができます。
関連概念
プロファイル作成ツールの概説
プロファイル作成リソース
プロファイル・モニター・ビュー
ログ・ビュー
関連タスク
Java プロセスを起動する/接続する
エージェントを処理する
複数のプロファイルおよびロギング・パースペクティブを開く
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.