Existen dos tipos de sondas: las sondas de método y las sondas de sitio de llamada.
Las sondas de método se insertan en el cuerpo de un método destino. En las sondas de método, el motor de instrumentación de código de bytes (BCI) instrumenta los archivos class o jar que contienen el método destino.
Las sondas de sitio de llamada se insertan en el cuerpo de cualquier método que llame al método destino. En otras palabras, se insertan en el sitio de la llamada, dentro del método que efectúa la llamada, y no en el método llamado. En las sondas de sitio de llamada, el motor BCI instrumenta los archivos class o jar que contienen los métodos que llaman a los métodos destino.
Las sondas de sitio de llamada suelen utilizarse cuando se desean supervisar las llamadas desde el proyecto a una biblioteca del sistema o a otras clases de soporte que están fuera del proyecto. Las sondas de sitio de llamada también son útiles cuando resulta difícil o imposible instrumentar los archivos de clase que contienen los métodos que desea establecer como destino.
El hecho de que una sonda sea de método o de sitio de llamada depende del tipo de fragmento de sonda. Para obtener una lista anotada de los tipos de fragmentos de sonda, consulte la sección Tipos de fragmentos de sonda.
Un archivo fuente de Probekit (archivo probe) puede contener tanto sondas de método como sondas de sitio de llamada. Sin embargo, una sonda individual no puede contener una mezcla de fragmentos de sonda de método y de sitio de llamada; todos los fragmentos de sonda de una sonda deben pertenecer a la misma categoría.