A method for analyzing the performance of a program when running in an
interpreted environment. An interpreter is a program that translates and
executes another program. To analyze a binary in an interpreted
environment, a mechanism is used to indicate points in the program at
source, intermediate, or binary showing where information about the
system is to be tracked/profiled/analyzed. Once these analysis points are
determined, triggers are created in a separate file or inserted via
program instrumentation into the binary to indicate to the interpreter
when the analysis triggers need to be processed. The system being
analyzed is then run via an interpreter. When one of these triggers
occurs during execution, the interpreter calls analysis code passing it
the appropriate information so that it may track statistics, metrics, and
information about the program corresponding to the trigger.