スタンドアロン・モードのアプリケーションのプロファイル作成
Hyades ツールがインストールされていなくても、
アプリケーションをスタンドアロン・モードで (つまり、コマンド行から) プロファイルできます。
ただし、プロファイル対象のアプリケーションが常駐するマシンには、Agent Controller が
インストールされている必要があります。
Java プロファイル・エージェントを呼び出して、スタンドアロン・モードでアプリケーションの
プロファイルを作成できます。このエージェントは、Java 仮想マシン (JVM) に接続して、Java アプリケーションの
動作をキャプチャーおよび記録するライブラリーです。エージェントからの出力は、XML フラグメントの形式です。
-Xrun Java オプションを使用して、Java
Profiling Agent を次のように呼び出します。
-XrunpiAgent:agent_parm[,agent_parm]*
例えば、myFilters.txt ファイルで定義されたフィルターを使用し、
プロファイル・セッションからのデータを PEProfilingData という名前のファイルに送るように
指定して PerformanceExample.java をプロファイルする場合、コマンド行から以下のように入力します。
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- -XrunpiAgent パラメーターを増やすと、プロファイル・エージェントを実行
するための、さまざまなモードを指定できます。
パラメーター agent_parm には、以下のいずれかの値を指定できます。
- server=[standalone | enabled | controlled | application]
- standalone
- プロファイル・エージェントはヘッドレス・モードで実行されま
す。つまり、ワークベンチからこのエージェントと対話することはできません。
構成情報は構成ファイルを使用して提供され、プロファイル・データはプロファイル・エージェント
によって直接ファイルに保管されます。
このプロファイル・ファイルは、後日ワークベンチにインポートすることが可能です。
- Java Profiling Agent は手動で
JVM インスタンスに接続され、出力ファイルに
プロファイル・データを生成します。デフォルトの出力ファイルの名前は trace.trcxml になりますが、
file= filename パラメーターを使用して別のファイル名を指定することもできます。
このオプションを選択すると、Java Profiling Agent から
エンクロージング traceRoot エレメントが提供されて、完全で有効な XML 文書が形成されます。
- enabled (これがデフォルトです。)
- プロファイル・エージェントは JVM の背景で実行され、
ワークベンチの接続を受けてモニターの開始が指示されるまではリソースを消費しません。
データはエージェントのデータ・チャネルを通じてストリームされ、ワークベンチによって消費されます。
つまり、Java Profiling Agent がロードされ、
アプリケ
ーションを通常どおりに実行することが可能ですが、クライアントがエージェントに接続して指示を出すまで、プロファイル・データは生成されません。
このオプションを選択すると、Java Profiling Agent は完全な XML 文書ではなく、XML フラグメントのみを生成します。
- controlled
- プロファイル・エージェントは、ワークベンチに接続されて、クライアントによるモニター開始の指示を受けるまでは、
JVM より優先的に初期化されます (エージェントはロードされますが、アプリケーションの実行はブロックされます)。
つまり、プロファイル・エージェントは、controlled モードで起動された場合、
モニター開始の指示を受けるまでは JVM を停止し、完全な XML 文書ではなく XML フラグメント
のみを生成します。
- application
- Java Profiling Agent がロードされ
、背景で実行し、enabled モード同様、
アプリケーションを通常どおりに実行できます。
- 次の 2 つの条件が満たされた場合にのみ、プロファイル・データを生成します。
最初に、プロファイル・エージェントが org.eclipse.hyades.collection.profiler.Profiler を使用して
プロファイルを開始することを、アプリケーションが要求済みであること。次に、ワークベンチのテスト・クライアント
が Java Profiling Agent に接続済みであり、
モニターを開始しているこ
と。
- 注: すべてのプロファイルは、アプリケーションによって、
org.eclipse.hyades.collection.profiler.Profiler クラスを使用して制御されています。
- profile=profile file
このオプションは、server=standalone の場合にのみ適用できます。このファイルでは、
スタンドアロン・モードで Profiler を実行する場合のオプションを指定します。このファイルで
指定されているオプションは、通常、ワークベンチから Java プロセスを起動したときに、
プロファイル構成ウィンドウで設定します。このファイルの使用は、スタンドアロン・モードで
の実行時にオプションを指定する方法と同等です。
このファイルは、2 つの方法のいずれかでロードできます。
プロファイル・ファイルに対して有効なオプションのリストについては、『スタンドアロン・モードでアプリケーションのプロファイルを作成するためのプロファイル・フィルター・オプション』を参照してください。
- filters=filename
server=standalone が指定されている場合にのみ使用されます。
プロファイル・セッション中に使用される初期クラス・フィルター定義を含むファイルの名前を指定します。
デフォルトのファイル名は、現行ディレクトリー内の filters.txt になります。
ファイル・フォーマットについては、以下を参照してください。
- file=filename
server=standalone が指定されている場合にのみ使用されます。
プロファイル・データの書き込み先となるファイルの名前を指定します。
デフォルトのファイル名は、現行ディレクトリー内の trace.trcxml になります。
- help
stdout に対して使用可能なエージェント・オプションのリストが表示されます。
クラス・フィルター・ファイルのフォーマット
フィルター・ファイルには、package/class、method、および mode の 3 つのフィールドを以下のフォーマットで指定する必要があります。
package/class method mode
ここで:
- package/class
- このフィールドは、パッケージまたはクラス名のパターンを指定する場合に使用します。パターンは、組み込みブランクなしのストリングとして指定する必要があります。このストリングの先頭または末尾には、1 つのアスタリスク (*) を組み込むことができます (例えば、*.mypackage または org.mycompany.*)。この * は、ゼロ以上の文字に一致し、
一般的な接頭部または接尾部のパターンを作成します。単独の * を指定して、ストリング全体を表すこともできます。
- method
- このフィールドは、メソッド名のパターンを指定する場合に使用します。パターンは、組み込みブランクなしのストリングとして指定する必要があり、class フィールドと同じ指定規則が適用されます。
- mode
- このフィールドは、パターンに一致するパッケージまたはクラスをプロファイルに組み込むか、または除外するかを指定します。mode に指定可能な値は、INCLUDE または EXCLUDE のいずれかです。
フィルター・パターンは、最初のパターン・マッチが成功するまでは、指定された順番で処理されます。
クラス名が指定されたいずれのフィルター・パターンにも一致しない場合、
そのクラスはデフォルトで組み込まれます。
Java Profiling Agent のコントロール
Java Profiling Agent が server=enabled または server=controlled パラメーター
を指定して開始されると、このエージェントとの通信は、ホスト・マシンの Agent Controller を通じて、
クライアント・ワークベンチを使用して行われます。
注
- フィルター定義ファイル名がコマンド行で指定されないと、
Java Profiling Agent は現行ディレクトリー内の filters.txt という名前のファイルから
フィルターの読み取りを試みます。この filters.txt ファイルが存在しない場合、
プロファイル・セッション時にフィルターは使用されません。フィルター・ファイル filters.txt を
独自に作成して現行ディレクトリーに入れると、コマンド行でフィルター・パラメーターを指定しなくても、
プロファイル・エージェントにこのフィルターを使用させることができます。
- プロファイル・データ用の出力ファイルが指定されないと、データは trace.trcxml ファイルに保管されます。
- 出力ファイルに拡張子を指定する必要はありません。この出力ファイルには自動的に .trcxml という拡張子が付きます。
- Java アプリケーションに拡張子を指定する必要はありません。このアプリケーションは、.class ファイルになります。
関連概念
プロファイル・ツールの概説
プロファイル・リソース
関連タスク
AS/400 スタンドアロン・モードのアプリケーションのプロファイル作成
Java プロセスの起動または接続
「プロファイル・モニター」ビューの使用
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.