NetBeans Profiler 5.5 の使用方法
nbprofiledirect
説明
NetBeans IDE で実行すると、NetBeans Profiler が起動します。Profiler は特定のポートで待機し、プロファイル対象の VM で実行中のエージェントへの接続を試みます。
タスクはすぐに結果を返すため、ブロックはしません。通常、このタスクは Profiler Agent で VM を起動する前に呼び出します。
このタスクは通常、手動ではなく Profiler の UI アクション「プロジェクトをプロファイル」または「ファイルをプロファイル」で起動します。ただし、場合によっては手動で呼び出すこともできます (NetBeans IDE のコンテキスト内に限られます)。
タスクの呼び出し時に十分なコンテキストがない場合、または interactive 属性が指定されている場合は、プロファイルの種類を選択するためのダイアログが最初に表示されます。
パラメータ
| 属性 | 説明 | 必須入力 |
| mainclass | 実行する Java クラス。 | jar またはクラス名。 |
| jvmargsproperty | Profiler Agent を起動するための JVM 引数を格納するプロパティーを指定する場合に使用します。デフォルト値は「profiler.info.jvmargs.agent」です。nbprofiledirect が正常に完了すると、このプロパティーにはプロファイル対象の JVM に渡される JVM 引数が格納されます。 | 任意 |
| jvmargsprefix | Profiler Agent の JVM 引数の作成時に、接頭辞の使用を指定する場合に使用します。たとえば、NetBeans IDE プロファイルでは、VM に渡す引数に「-J」という接頭辞を設定します。 | 任意 |
| jvmproperty | プロファイルに使用する JVM を格納するプロパティーを指定する場合に使用します。デフォルト値は「profiler.info.jvm」です。nbprofiledirect が正常に完了すると、このプロパティーにはプロファイルに使用する JVM のパスが格納されます。 | 任意 |
| interactive | auto、true、false のいずれかの値を設定します。タスクの呼び出し時に「プロファイルタスクの選択」を表示するかどうかを指定します。デフォルト値は「auto」です。この場合、nbprofiledirect の呼び出し時に十分なプロパティーコンテキストがないときは、ダイアログだけが表示されます。通常は、このタスクは「プロジェクトをプロファイル」または「ファイルをプロファイル」アクションの結果として正常に呼び出されるため、ダイアログは表示されません。 | 任意 |
入れ子要素として指定するパラメータ
classpath
Java の classpath 属性はパス類似構造です。入れ子式の classpath 属性で設定することもできます。
rootspath
Profiler がプロジェクト内のパッケージとして処理するパッケージを指定するためのパス類似構造です。このパラメータを使用すると、CPU プロファイルの処理対象はこのパッケージのメソッドで呼び出されたコードのみになります。特に、アプリケーションサーバーの場合はこの方法が有効で、プロファイル対象のユーザーコードを含むパッケージを指定することによりプロファイルのオーバーヘッドを大幅に軽減させることができます。
エラーとリターンコード
なし
例
nbprofiledirect を自由形式プロジェクトで使用する一般的な方法
<nbprofiledirect>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</nbprofiledirect>
<java classname="org.mytest.Main" jvm="${profiler.info.jvm}">
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
<jvmarg value="${profiler.info.jvmargs.agent}"/>
</java>
nbprofiledirect を対話型モードで使用する方法
<nbprofiledirect interactive="true" jvmargsproperty="my.agent.property">
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</nbprofiledirect>
<java classname="org.mytest.Main" jvm="${profiler.info.jvm}">
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
<jvmarg value="${my.agent.property}"/>
</java>
