|
|
前のページ 1 2 3 4 次のページ
|
|
プロファイリングの設定と実行
|
サンプル・アプリケーションを作成したので、アプリケーションのプロファイリングの設定を行いましょう。
「Run → Profile」でプロファイリングの設定ウィンドウが表示されます(図2)。
図2:プロファイリング設定画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
設定ウィンドウで「Java Application」を選択して「New」をクリックします。「Name」に"MyDog"と指定します。
「Main」タブで「Project」に"ProfileSample"、「Main class」に"sample.MyDog"を指定します。「Argument」タブ(図2の1)では「Program Argument」に任意の文字列(犬の名前、好きなもの、嫌いなもの)を入力します。
次に「Profiling」タブ(図2の2)をクリックしてください。
図3:プロファイリング・セット設定画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
すると図3のようになり、「Overview」タブでプロファイリング・セットを定義できます。プロファイリング・セットを使用すれば収集したい情報を指定することや、表示させる項目をフィルタリングすることができます。デフォルトでいくつかのプロファイリング・セットが用意されていますが、今回は独自にプロファイリング・セットを定義します。
|
プロファイリング・セットの定義
|
プロファイリング・セットを追加するには「Add…」をクリックして「Add Profiling Set」ウィンドウを開き、「Profiling Set」画面を表示させます。
まずプロファイリング・セットの概要を定義しましょう。
「Profiling set name」欄に"MyDog Profiling Set"と入力して「Next」をクリックしてください。すると「Profiling Types」画面が表示されます。ここではどのようなプロファイリングを行うかを指定できます。
大きく分けて「Code Coverage」「Memory Analysis」「Time Analysis」の3つが存在します。今回は様々なプロファイリングを行いますので3つすべてにチェックを入れてください。次に「Time Analysis」ツリーを展開して「Execution Time Analysis」を選択します。「Edit Profiling Set」の画面が表示されたら、「Show execution flow graphical details」のラジオボタンを選択してください(図4)。
図4:プロファイリング・セット設定画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
そして、「Next」をクリックすると今度は「Filter Set」画面が表示されます。
ここでフィルタ・セットを設定します。フィルタ・セットは「どのクラスやメソッドをプロファイリング対象とするか」を定義するものです。対象を狭めればその分プロファイリングにかかる時間も短縮されます。
フィルタ・セットもデフォルトでいくつか用意されていますが、ここではsampleパッケージ下のすべてのクラスとメソッドを対象とし、ほかの全クラス・メソッドを対象外にするように新しいフィルタ・セットを定義しましょう。
まずウィンドウ上方の「select a filter set」の「Add…」をクリックしてフィルタ・セット名を指定します。今回は"MyDog Filter Set"と指定します。
「select a filter set」欄で先ほど作成した「MyDog Filter Set」を選択した状態で、ウィンドウ下方の「Contents of selected filter set」の既存のフィルタを「Remove」ボタンで削除して「Add…」をクリックします。そして表2の内容をフィルタを追加します(図5)。
|
Class |
Method Name |
Rule |
意味 |
sample.* |
* |
INCLUDE |
パッケージsampleの全クラスと全メソッドを対象とする |
* |
* |
EXCLUDE |
パッケージsample以外の全クラスと全メソッドを対象外とする |
表2:フィルタ・セットの内容
図5:フィルタ・セット設定画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
以上でプロファイリング・セットの追加が完了しましたので、いよいよアプリケーションを起動してプロファイリングを行いましょう。
|
前のページ 1 2 3 4 次のページ
|
|
|
|
著者プロフィール
株式会社ビーブレイクシステムズ 益原 祐介
Javaスペシャリスト
九州大学文学部卒業。在学中は考古学の研究、遺跡の発掘作業を行う。その後、情報システムに興味を持ちビーブレイクシステムズに入社。徹底した社内教育によりJavaエンジニアとなる。現在は社内技術レポートの執筆や技術雑誌への寄稿を行い、社内の技術力の向上に貢献。
|
|
|
|