Probekit è un framework script di tipo BCI (byte-code instrumentation) che consente di scrivere frammenti di codice Java che possono essere inseriti in un programma per fornire informazioni su tale programma quando viene eseguito.
Un file Probekit può contenere una o più analisi e ciascuna analisi può contenere uno o più frammenti di analisi. È possibile specificare quali analisi si desidera utilizzare su un determinato programma e quando si desidera che i frammenti di analisi vengano eseguiti.
I frammenti di analisi vengono raggruppati in una serie di metodi Java che vengono poi compilati. Quando un'analisi viene compilata, i frammenti del codice di analisi vengono combinati con boilerplate standard e viene generato un codice origine Java per una nuova classe. Le funzioni generate dai frammenti dell'analisi appaiono come metodi statici della classe di analisi generata.
Quando le analisi vengono applicate, il modulo di gestione BCI fa riferimento all'elenco di analisi e ai relativi modelli di destinazione ed inserisce le chiamate ai metodi dei frammenti di analisi nei programma di destinazione. Il processo di inserimento delle istruzioni di chiamata nei metodi di destinazione viene definito come "strumentazione". Gli elementi dati richiesti da un frammento di analisi (ad esempio, argomenti e nome del metodo) vengono passati come argomenti. Un vantaggio di questo sistema consiste nel fatto che un'analisi può essere inserita in molti metodi di destinazione con un overhead minimo.
Se qualsiasi metodo di una classe soddisfa le regole di filtro e risulta adatto per la strumentazione, la classe viene definita "classe analizzata".
Argomento principale: Raccolta di dati runtime mediante analisi definite dall'utente
Concetti correlati
Analisi di metodo e analisi a livello di chiamata
Riferimenti correlati
Esempi Probekit