TOP設計・移行・活用> プロファイラのアタッチ
Eclipse TPTP
Eclipseでテストとパフォーマンス検証

第4回:プロファイリングの詳細を見る
著者:ビーブレイクシステムズ  益原 祐介   2005/10/31
前のページ  1  2  3  4
プロファイラのアタッチ

   これまではEclipse上で動作するアプリケーションのプロファイリングについて見てきましたが、次にEclipse以外のアプリケーションをプロファイリングする方法を解説します。

   Eclipse外部のアプリケーションをプロファイリングするにはプロファイラを対象アプリケーションにアタッチ(接続)する必要があります。

   それではプロファイラを対象アプリケーションにアタッチする手順について解説します。
プロファイリングの対象となるアプリケーションの起動

   はじめに"$AGENT_HOME\config\serverconfig.xml"内の要素「Allow」の属性「host」に指定されている値が「ALL」もしくは「CUSTOM」となっており、アタッチ元が登録されていることを確認してください(今回の場合は"$AGENT_HOME\bin\SetConfig.bat"の実行時に「ALL」を設定しています)。もし設定がされていなければ、再度"$AGENT_HOME\bin\SetConfig.bat"を実行するか、"serverconfig.xml"ファイルを直接編集してアタッチ元を登録してください。

   次にエージェント・コントローラを起動します。

   "-XrunpiAgent"オプションでプロファイラ・エージェントを指定して、プロファイル対象のアプリケーションを起動します。今回の場合は以下のコマンドを実行します("ProfileSample"プロジェクトのディレクトリで実行する場合の例)。

> java -XrunpiAgent sample.MyDog

   以上で、プロファイリングの対象となるアプリケーションの起動が完了しましたので、次にEclipse TPTPからこのアプリケーションにアタッチするための設定を行います。


アプリケーションにアタッチするための設定

   はじめに「Run → Profile」をクリックしてください。すると「Profile」ウィンドウが開くので左側の「Attach - Java Process」を選択して「New」をクリックしてください。ここで「Name」に任意の名前を指定します。今回は"MyDog Attach"と指定しました。「Host」タブをクリックして「Default Hosts」欄の「localhost:10002」を選択してください。

   次に「Test Connection」ボタンをクリックしてエージェント・コントローラとの接続確認を行ってください。すると「Connection success」と表示されます。

   「Agents」タブをクリックして「Agents」欄に表示されるアプリケーションの一覧(例えば、「unknown [PID:300]」のように表示されます)の中から対象アプリケーションを選択して「>」をクリックし、「Selected agents」欄に移動します(図7)。

アタッチ対象アプリケーションの選択
図7:アタッチ対象アプリケーションの選択
(画像をクリックすると別ウィンドウに拡大図を表示します)

   図7の画面が表示されましたら、「Profile」タブをクリックします。すると「Profiling Monitor」にプロファイル対象のアプリケーションが追加されます。「Profiling Monitor」を見ると<attached>と表示されていることを確認してください。

アタッチの確認
図8:アタッチの確認

   プロファイリングを開始するには、「<attached> Profiling…」を右クリックして「Start Monitoring」を選択してください。<attached>が<monitoring>に変化すれば成功です。後は先ほどと同じ要領でプロファイリングを行うことができます。


まとめ

   今回はプロファイリングの詳細とEclipse以外のアプリケーションのプロファイリング方法について見ました。Eclipse TPTPを使用することによって様々なプロファイリングが行えることを実感していただけたと思います。

   次回はEclipse TPTPを使用したログの分析についてサンプル・プロジェクトを使いながら解説します。

前のページ  1  2  3  4


株式会社ビーブレイクシステムズ 益原 祐介
著者プロフィール
株式会社ビーブレイクシステムズ  益原 祐介
Javaスペシャリスト
九州大学文学部卒業。在学中は考古学の研究、遺跡の発掘作業を行う。その後、情報システムに興味を持ちビーブレイクシステムズに入社。徹底した社内教育によりJavaエンジニアとなる。現在は社内技術レポートの執筆や技術雑誌への寄稿を行い、社内の技術力の向上に貢献。


INDEX
第4回:プロファイリングの詳細を見る
  はじめに
  メモリ統計:Memory Statistics
  実行フロー:Execution Flow
プロファイラのアタッチ