Présentation de Probekit

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 un ou plusieurs composants d'analyse, chacun renfermant à son tour un ou plusieurs fragments d'analyse. Vous pouvez indiquer les composants d'analyse à employer dans un programme donné et à quel moment les fragments d'analyse doivent être exécutés.

Les fragments d'analyse sont regroupés dans un ensemble de méthodes Java avant compilation. Lorsqu'un composant d'analyse est compilé, les fragments de code sont associés à un paragraphe standard et le code source Java est généré pour une nouvelle classe. Les fonctions générées à partir des fragments d'analyse apparaissent sous formes de méthodes statiques dans la classe obtenue.

Une fois les composants d'analyse appliqués, le moteur BCI fait référence à la liste de composants et aux motifs cible et insère des appels de méthodes de fragments de code 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 d'analyse (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 un composant d'analyse 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 "analysée".

Les fragments d'analyse peuvent être exécutés (pour en connaître la liste complète, voir Objet d'analyse Fragment) :
Les fragments d'analyse peuvent accéder aux types d'informations ci-après sur les méthodes dans lesquelles ils sont insérés :

Rubrique parent : Collecte de données d'exécution avec des composants d'analyse définis par l'utilisateur

Informations connexes
Exemple d'un composant d'analyse de base

Copyright IBM Corporation et autres 2000, 2004.