Probekit est une structure d'instrumentation de bytecode (BCI) par scripts qui permet d'écrire des fragments de code Java à insérer dans un programme et d'obtenir des informations sur celui-ci lors de son exécution.
Un fichier Probekit peut contenir une ou plusieurs sondes, chacune renfermant à son tour un ou plusieurs fragments de sonde. Vous pouvez indiquer les sondes à employer dans un programme donné et à quel moment les fragments de sonde doivent être exécutés.
Les fragments de sonde sont regroupés dans un ensemble de méthodes Java avant compilation. Lorsqu'une sonde est compilée, les fragments de code de sonde sont associés à un format standard et le code source Java est généré pour une nouvelle classe. Les fonctions générées à partir des fragments de sonde apparaissent sous formes de méthodes statiques dans la classe de sonde obtenue.
Lorsque les sondes sont appliquées, le moteur BCI fait référence à la liste de sondes et aux motifs cible et insère des appels de méthodes de fragments de sonde dans les programmes cible. Le processus d'insertion d'instructions d'appel dans des méthodes cible est qualifié "d'instrumentation". Les éléments de données sollicités par un fragment de sonde (par exemple, le nom et les arguments de la méthode) sont transmis en tant qu'arguments. Entre autres avantages de ce système, il est possible d'insérer une sonde dans un grand nombre de méthodes cible en un minimum de temps.
Si l'une des méthodes d'une classe respecte les règles de filtrage et est une bonne candidate pour instrumentation, la classe en question est dite "sondée".
Rubrique parent :
Collecte de données d'exécution avec des sondes définies par l'utilisateur
Informations connexes
Exemple de sonde de base