プローブには、メソッド・プローブと呼び出しサイト・プローブの 2 種類があります。
メソッド・プローブは、ターゲット・メソッド の本文に挿入されます。 メソッド・プローブでは、バイトコード・インスツルメンテーション (BCI) エンジンが、ターゲット・メソッドを含む クラスまたは JAR ファイル を計測します。
呼び出しサイト・プローブは、ターゲット・メソッドを呼び出すすべてのメソッド の本文に挿入されます。 つまり、呼び出しサイト・プローブは呼び出しサイトで、呼び出されたメソッドではなく、呼び出し元メソッドに挿入されます。 呼び出しサイト・プローブでは、BCI エンジンが、ターゲット・メソッドを呼び出す メソッドを含むクラス または JAR ファイルを計測します。
呼び出しサイト・プローブは、プロジェクトからシステム・ライブラリーに対する呼び出し、 あるいはプロジェクトの外側の他のサポート・クラスに対する呼び出しをモニターする場合によく使用されます。 ターゲットにするメソッドを含むクラス・ファイルを計測することが困難な場合、あるいは不可能な場合にも、 呼び出しサイト・プローブが役立ちます。
あるプローブがメソッド・プローブであるか呼び出しサイト・プローブであるかは、プローブ・フラグメント型 に よって決まります。 プローブ・フラグメント型の注釈付きリストについては、 『プローブ・フラグメント型』を参照してください。
Probekit ソース・ファイル (probe ファイル) には、メソッド・プローブと呼び出しサイト・プローブの両方を 含めることができます。 しかし、個々のプローブにメソッド・プローブ・フラグメントと呼び出しサイト・プローブ・フラグメントの両方を 混ぜて含めることはできません。1 つのプローブ内のすべてのプローブ・フラグメントが同じカテゴリーでなければなりません。