Patent ID: 7707557

Claim:
A method, comprising: in an object oriented run-time environment, after a classfile has been loaded: a) invoking a second method from a first method instrumented with bytecode, said first method belonging to said classfile, said invoking comprising providing an identification of said first method and said classfile, said second method belonging to a dispatcher, said classfile having previously registered with said dispatcher, said dispatcher incapable of injecting bytecode into said classfile; b) said dispatcher performing said second method to identify a plug-in module for said first method based upon said identification, said plug-in module to implement a handler method, said dispatcher returning to said first method an identifier of said plug-in module, said identifier not being a boolean value representative of one of only two possible states; c) using said identifier to directly invoke said plug-in module to execute said handler method to report and/or record information about said first method; d) executing said first method from a point beyond where said second method was invoked; e) flowing from said first method to a third method; f) invoking said second method from said third method, said invoking including providing an identification of said third method and a second classfile that said third method is a part of, said second classfile having been loaded and said third method instrumented with bytecode at least by the completion of e) above, said second classfile having previously registered with said dispatcher, said dispatcher incapable of injecting bytecode into said second classfile; g) said dispatcher performing said second method to identify said plug-in module for said third method based upon said third method and second classfile identification, said dispatcher returning to said third method said identifier of said plug-in module; h) using said identifier to directly invoke said plug-in module from said third method to execute said handler method to report and/or record information about said third method; and, i) executing a portion of said third method from a point beyond where said second method was invoked from said third method, wherein said dispatcher includes: i) a dictionary that is used to correlate said first and third methods to said plug-in module, and, ii) a plug-in pattern which lists said first and third methods along with additional methods that said dispatcher dispatches to said plug-in module.