Patent ID: 7886294

Claim:
A method, comprising: operating a virtual machine (“VM”) to interpret and to execute a program; storing objects created during execution of the program to a heap of the VM; with an automatic garbage collector of the VM, garbage collecting objects of the heap which are no longer referenced by the program; the VM executing monitoring code of the VM to monitor internal operations of the VM including the garbage collecting, the monitoring the internal operations generating status information including garbage collecting activity information, the executing the monitoring code further to store the status information to an internal memory buffer of the VM during the operating of the VM, wherein storing the status information to the internal memory includes performing a first function call to an internal application programming interface (“API”) of the VM for the internal memory buffer; and with a VM monitor external to the VM, extracting the status information from the internal memory buffer during the operating of the VM to monitor internal operation of the VM from external to the VM, wherein extracting the status information from the internal memory buffer of the VM comprises: accessing the internal buffer via a native API; and retrieving the status information to the VM monitor through the native API, wherein the VM does not interpret any native code of the native API for the retrieving the status information.