Il y a deux sortes de sondes : les sondes de méthode et les sondes de site d'appel.
Les sondes de méthode sont insérées dans le corps d'une méthode cible. Pour les sondes de méthode, le moteur bitecode (BCI) instrumente la classe ou les fichiers JAR qui contiennent la méthode cible.
Les sondes de site d'appel sont insérées dans le corps de toute méthode qui appelle la méthode cible. En d'autres mots, elles sont insérées au site d'appel dans la méthode appelante, et non dans la méthode appelée. Pour les sondes de site d'appel, le moteur BCI instrumente la classe ou les fichiers JAR contenant les méthodes qui appellent les méthodes cibles.
Les sondes de site d'appel servent souvent à contrôler des appels d'un projet vers une bibliothèque système ou vers d'autres classes de support externes à ce projet. Elles sont également utiles lorsqu'il est difficile ou impossible d'instrumenter les fichiers de classe contenant les méthodes visées.
Une sonde est de méthode ou de site d'appel selon le type de fragment. Pour une liste annotée des types de fragment, voir les Types de fragments de sonde.
Un fichier source Probekit (fichier probe) peut contenir des sondes de méthode et de site d'appel. Une seule sonde ne peut cependant pas contenir un mélange de fragments de sondes de méthode et de site d'appel ; tous les fragments d'une sonde doivent être de la même catégorie.