この演習を開始する前に、『演習 1.2: 最初のプローブの作成』を完了 する必要があります。
RandomNumbersProbe プローブを作成して、このプローブ内のエラーを修正したので、 RandomNumbers プログラムを実行して、このプローブをこのプログラムに適用できます。 RandomNumbers プログラムが含まれたプロジェクトを変更する必要はありません。
最初に、プローブを適用しないで RandomNumbers プログラムを実行してみましょう。
このプログラムは 1 から 10 の乱数を 1 つ選択します。 その乱数が 10 の場合は、シミュレーションは「ヒット (hit)」として終了 します。 それ以外の場合は、(A) 新しい乱数が最初の乱数と一致するか、(B) 新しい乱数が 10 にな るまで、プログラムは乱数の選択を繰り返します。 (A) の場合、シミュレーションは「ヒット (hit)」を報告します。 (B) の場合、シミュレーションは「ミス (miss)」を報告します。
プログラムを実行するには、以下のようにします。
「コンソール」ビューには、以下のような出力が表示されます。
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.
次に、プログラムを再実行しますが、今回はプローブを適用します。
「コンソール」ビューでは、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.
上記からわかるように、プローブの entry フラグメントからの出力が、プログラム自体の出力と共に 表示されます。 プローブからの出力が大括弧で囲まれているのは、このフラグメント内で System.out.println 呼 び出しをそのように作成したからです。
なんらかのプロファイル・データを収集するには、Agent Controller が実行されている必要があります。 Agent Controller を使用できないことを示すメッセージが表示された場合は、Agent Controller がインス トールされていることを確認して、手動で開始してから、データの収集を再試行してください。 詳細については、インストール・ガイドを参照してください。 インストール・ガイドにはランチパッドを使用してアクセスできます。または、製品 CD の disk1/install.html ファイルを直接開くこともできます。
ここでは、プログラム内のメソッドが開始されるたびに報告を行う単純なプローブを作成して使用しました。 これで、『演習 1.4: 高度なプローブの作成』を開始する準備ができました。