Il existe deux types de sondes permettant de contrôler les méthodes cible.
Le premier type de sonde est inséré dans un endroit quelconque du corps d'une méthode. Comme une sonde de ce type est insérée dans la méthode cible, on l'appelle sonde de méthode. Pour les sondes de méthode, la classe ou les fichiers jar contenant les méthodes cible sont instrumentés par le moteur d'instrumentation de bytecode (BCI).
Le second type de sonde est inséré dans le corps de toute méthode qui appelle la méthode cible. Comme une sonde de ce type est insérée au site d'appel (c'est-à-dire dans la méthode appelante, et non dans celle qui est appelée), on l'appelle sonde de site d'appel. Pour les sondes de site d'appel, la classe ou les fichiers jar contenant les méthodes qui appellent les méthodes cible sont instrumentés par le moteur BCI.
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 même sonde ne peut contenir à la fois des fragments de méthode et des fragments de site d'appel. En revanche, un même fichier .probe peut comporter des sondes de méthode et des sondes de site d'appel.