スタンドアロン・モードでのアプリケーションのプロファイル
Test and Performance Tools Platform がインストールされていなくても、アプリケーションをスタンドアロン・モードで (つまり、コマンド行から) プロファイルできます。
ただし、プロファイル対象のアプリケーションが常駐するマシンには、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
- 注: WebSphere
Application Server バージョン 6 (WAS) をプロファイル・モードでコマンド行から始動する場合は、以下のステップを実行する必要があります。
- <profile root>/config/cells/<nodename>Cell/nodes/<nodename>/servers/server1 に進みます。
- server.xml ファイルの jvmEntries 要素を編集します。その要素には、genericJvmArguments と呼ばれる属性があります。
-XrunpiAgent:server=enabled を属性値に追加します。
- WAS を再始動します。
-
- -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
- このフィールドは、パッケージまたはクラス名にパターンを指定する場合に使用されます。
パターンは、埋め込まれたブランクがないストリングとして指定する必要があります。このストリングには、ストリングの先頭または末尾のいずれかに単一のアスタリスク (*) を組み込むことができます (例えば、*.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, 2006. All Rights Reserved.