演習 1.3: プローブの適用

始める前に、『演習 1.2: 最初のプローブの作成』を完了する必要があります。

RandomNumbersProbe プローブの作成とプローブ内のエラーの修正が終わったので、RandomNumbers プログラムを実行してこれにプローブを適用できます。ここで、RandomNumbers プログラムを含むプロジェクトを変更する必要はありません。

まず、プローブを使用せずに RandomNumbers プログラムを実行してみましょう。

プログラムは 1 から 10 までの乱数を選択します。 乱数が 10 ならば、シミュレーションは「ヒット」で終了します。 その他の場合、プログラムは (A) 新規の数が最初の数に一致するか、(B) 新規の数が 10 になるまで、乱数を選択します。 (A) では、シミュレーションは「ヒット」を報告します。(B) では、シミュレーションは「ミス」を報告します。

プログラムを実行するには以下を行います。

  1. Software Development Platform のメニュー・バーで、「ウィンドウ」>「ビューの表示」>「コンソール」を選択します。「コンソール」ビューが開きます。
  2. 「パッケージ・エクスプローラー」ビューで、RandomNumbers および default package エントリーを展開します。
  3. RandomNumbers.java ファイルを右マウス・ボタン・クリックし、「実行」>「Java アプリケーション」を選択します。

「コンソール」ビューに、以下のような内容が出力されます。

Random number simulation now starting.
Next selected random value: 7.
The initial random value is not ten. Looking for a match.
Target value is 7
Next selected random value: 5.
No match, not a ten. Continuing.
Target value is 7
Next selected random value: 8.
No match, not a ten. Continuing.
Target value is 7
Next selected random value: 7.
A match occurred before a ten: hit.

プログラムを再度実行しますが、今度はプローブを適用します。

  1. 「パッケージ・エクスプローラー」ビューで RandomNumbers.java ファイルを右マウス・ボタン・クリックし、「プロファイル」>「Java アプリケーションのプロファイル作成」を選択します。RandomNumbers の「プロパティー」ダイアログが開き、起動構成プロパティーを編集できます。
  2. 「プロファイル」タブを選択します。
  3. プロファイル・セット・リストから Probe Example プロファイル・セットを選択し、「編集」をクリックします。「プロファイル・セットの編集」ダイアログ・ボックスが開きます。
  4. ツリーの Probes 項目がまだ展開していなければこれを展開し、「プローブの挿入」をクリックします。(「プローブの挿入」チェック・ボックスにチェックが付いているだけでは不十分です。プロファイル・セット・プロパティーを編集するには、「プローブの挿入」のエントリーをクリックする必要があります。)選択可能なプローブのリストに、プローブ RandomNumbersProbe が表示されます。
  5. RandomNumbersProbe のチェック・ボックスをクリックしてチェックを追加し、リストされている他のプローブがチェックされていない ことを確認します。
  6. 「次へ」をクリックします。 プロファイル・セット・エディターのフィルター・ページが開きます。このページを使用して、ターゲットとしているクラスおよびメソッドだけにプローブが適用されたか確認します。
  7. デフォルトのフィルター・セットが選択済みであることを確認します。
  8. 「終了」をクリックします。
  9. 「プロパティー」ダイアログ・ボックスで、「OK」をクリックします。Software Development Platform はプロファイルおよびロギング・パースペクティブに切り替わり、プログラムが実行します。 選択されたプローブはクラスがロードされるとクラスに適用され、プローブの「エントリー」フラグメントはメソッド実行時にトリガーされます。
    : Agent Controller が利用不能であることを示すセキュリティー・メッセージを受け取った場合、『データを収集できなかった場合』を読んでください。
  10. 「コンソール」ビューが表示されていない場合、「ウィンドウ」>「ビューの表示」>「コンソール」を選択してビューを開きます。

「コンソール」ビューには RandomNumbers プログラムの通常の出力に加えて、プローブのロジックによって生成された出力が表示されます。表示内容は以下のようになります。

[Enter method RandomNumbers.main]
[Enter method RandomNumbers.<init>]
[Enter method RandomNumbers.runSimulation]
Random number simulation now starting.
[Enter method RandomNumbers.getRandomNumber]
Next selected random value: 2.
The initial random value is not ten. Looking for a match.
Target value is 2
[Enter method RandomNumbers.getRandomNumber]
Next selected random value: 2.
A match occurred before a ten: hit.

ご覧の通り、プローブの「エントリー」フラグメントからの出力が、プログラム独自の出力と共に表示されます。プローブからの出力は大括弧で囲まれますが、これはフラグメントの System.out.println コールでそのように表示するように記述したためです。

データを収集できなかった場合

プロファイル・データを収集できるようにするには、Agent Controller が実行中でなければなりません。Agent Controller が利用不能であることを示すメッセージを受け取った場合、Agent Controller がインストールされているか確認してから手動で開始し、再試行してください。詳しい説明は、インストール・ガイドを参照してください。 インストール・ガイドを使用するには、ランチパッドを使用するか、製品 CD の disk1/install.html から見つけてください。

演習 1.4: 拡張プローブの作成』に進んでください。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005